(def-theorem equal-actions-implies-equal-right-trans
"forall(g,h:gg, alpha:uu,
act(alpha,g)=act(alpha,h)
implies
right%trans(stabilizer(alpha),g)=right%trans(stabilizer(alpha),h))"
lemma
(theory group-actions)
(usages transportable-macete)
(proof
(
direct-and-antecedent-inference-strategy
(unfold-single-defined-constant-globally right%trans)
extensionality
direct-inference
beta-reduce-repeatedly
(raise-conditional (0))
simplify
direct-and-antecedent-inference-strategy
(unfold-single-defined-constant-globally stabilizer)
simplify
(backchain "with(h,i_$0,x_0:gg,x_0=i_$0 mul h)")
(weaken (0))
(instantiate-existential ("i_$0 mul h mul inv(g)"))
(apply-macete-with-minor-premises mul-associativity)
(apply-macete-with-minor-premises act-associativity)
(apply-macete-locally action-by-stabilizer-member (0) "act(alpha,i_$0)")
(apply-macete-with-minor-premises action-macete)
(instantiate-existential ("g"))
(apply-macete-with-minor-premises simplify-actions)
simplify
(raise-conditional (0))
simplify
(weaken (2 3))
(unfold-single-defined-constant-globally stabilizer)
simplify
(backchain "with(h,i_$0,x_0:gg,x_0=i_$0 mul h)")
(weaken (0))
(instantiate-existential ("i_$0 mul g mul inv(h)"))
(apply-macete-with-minor-premises mul-associativity)
(apply-macete-with-minor-premises act-associativity)
(apply-macete-locally action-by-stabilizer-member (0) "act(alpha,i_$0)")
(apply-macete-with-minor-premises action-macete)
(instantiate-existential ("h"))
(apply-macete-with-minor-premises simplify-actions)
simplify
(raise-conditional (0))
simplify
auto-instantiate-existential
)))
(def-theorem equal-right-trans-implies-equal-actions
"forall(g,h:gg, alpha:uu,
right%trans(stabilizer(alpha),g)=right%trans(stabilizer(alpha),h)
implies
act(alpha,g)=act(alpha,h))"
lemma
(theory group-actions)
(usages transportable-macete)
(proof
(
(unfold-single-defined-constant-globally right%trans)
direct-and-antecedent-inference-strategy
(contrapose "with(p:prop, p)")
extensionality
beta-reduce-repeatedly
(raise-conditional (0))
simplify
(raise-conditional (0))
simplify
(contrapose "with(p:prop, p)")
(instantiate-universal-antecedent "with(p:prop,p)" ("g"))
(instantiate-universal-antecedent
"with(g:gg,alpha:uu,
forall(i_$2:gg, not(i_$2 in stabilizer(alpha)) or not(g=i_$2 mul g)))"
("e"))
(contrapose "with(p:prop, not(p))")
(apply-macete-with-minor-premises subgroups-contain-e)
(apply-macete-with-minor-premises stabilizers-are-subgroups)
(simplify-antecedent "with(g:gg,not(g=e mul g))")
(force-substitution "g" "i_$1 mul h" (0))
(apply-macete-with-minor-premises act-associativity)
(apply-macete-locally action-by-stabilizer-member (0) "act(alpha,i_$1)")
)))
(def-theorem equal-actions-iff-equal-right-trans
"forall(g,h:gg, alpha:uu,
act(alpha,g)=act(alpha,h)
iff
right%trans(stabilizer(alpha),g)=right%trans(stabilizer(alpha),h))"
reverse
(theory group-actions)
(usages transportable-macete)
(proof
(
direct-and-antecedent-inference-strategy
(apply-macete-with-minor-premises equal-actions-implies-equal-right-trans)
(apply-macete-with-minor-premises equal-right-trans-implies-equal-actions)
)))
(def-theorem domain-of-fct-mapping
"dom{fct%mapping}=orbit(zeta)"
lemma
(theory counting-theorem-theory)
(proof
(
unfold-defined-constants
extensionality
direct-inference
simplify
direct-and-antecedent-inference-strategy
(block
(script-comment
"node added by `direct-and-antecedent-inference-strategy' at (0)")
(contrapose "with(p:prop,p);")
(apply-macete-with-minor-premises eliminate-iota-macete)
(contrapose "with(p:prop,p);")
(antecedent-inference-strategy (0))
auto-instantiate-existential)
(block
(script-comment
"node added by `direct-and-antecedent-inference-strategy' at (1 0)")
(contrapose "with(p:prop,p);")
(apply-macete-with-minor-premises eliminate-iota-macete)
(instantiate-existential ("right%trans(stabilizer(zeta),g)"))
(instantiate-existential ("g"))
(block
(script-comment "node added by `instantiate-existential' at (0 1 0 0)")
(antecedent-inference-strategy (0 1))
(backchain
"with(g_$0:gg,j_$0:sets[gg], j_$0=right%trans(stabilizer(zeta),g_$0));")
(apply-macete-with-minor-premises
rev%equal-actions-iff-equal-right-trans)))
)))
(def-theorem range-of-fct-mapping
"ran{fct%mapping}=stabilizer%right%cosets"
lemma
(theory counting-theorem-theory)
(proof
(
unfold-defined-constants
extensionality
direct-inference
simplify
direct-and-antecedent-inference-strategy
(block
(script-comment
"node added by `direct-and-antecedent-inference-strategy' at (0 0)")
(contrapose "with(p:prop,p);")
(apply-macete-with-minor-premises eliminate-iota-macete)
(contrapose "with(p:prop,p);")
(antecedent-inference-strategy (0))
(instantiate-existential ("g")))
(block
(script-comment
"node added by `direct-and-antecedent-inference-strategy' at (1 0)")
(contrapose "with(p:prop,p);")
(instantiate-existential ("act(zeta,g)"))
(backchain "with(p:prop,p);")
(weaken (0))
(apply-macete-with-minor-premises eliminate-iota-macete)
direct-and-antecedent-inference-strategy
(instantiate-existential ("g"))
(block
(script-comment
"node added by `direct-and-antecedent-inference-strategy' at (1 0 0 0 0 0 0)")
(backchain
"with(g_$1:gg,b:sets[gg], b=right%trans(stabilizer(zeta),g_$0));")
(apply-macete-with-minor-premises
rev%equal-actions-iff-equal-right-trans)))
)))
(def-theorem injectiveness-of-fct-mapping
"injective_q{fct%mapping}"
lemma
(theory counting-theorem-theory)
(proof
(
unfold-defined-constants
insistent-direct-inference
beta-reduce-repeatedly
direct-inference
(cut-with-single-formula
"#(iota(c:sets[gg], forsome(g:gg,
c=right%trans(stabilizer(zeta),g) and x_1=act(zeta,g))))")
(cut-with-single-formula
"#(iota(c:sets[gg], forsome(g:gg,
c=right%trans(stabilizer(zeta),g) and x_2=act(zeta,g))))")
(contrapose "with(x,y:sets[gg], x=y)")
(eliminate-defined-iota-expression 0 u)
(eliminate-defined-iota-expression 0 v)
(weaken (5 6))
(contrapose "with(x_2,x_1:uu,not(x_1=x_2));")
(antecedent-inference-strategy (1 3))
(backchain "with(g_$0:gg,x_1:uu,x_1=act(zeta,g_$0))")
(backchain "with(g:gg,x_2:uu,x_2=act(zeta,g))")
(apply-macete-with-minor-premises equal-actions-iff-equal-right-trans)
)))