Quelle finite_groups.prf
Sprache: Lisp
(finite_groups
(IMP_group_TCC1 0
(IMP_group_TCC1-1 nil 3407081817
("" (lemma "fullset_is_group" ) (("" (propax) nil nil )) nil )
((fullset_is_group formula-decl nil finite_groups nil )) nil ))
(finite_generated_by 0
(finite_generated_by-1 nil 3306144725
("" (skosimp*)
(("" (lemma "generated_is_subgroup" ("a" "a!1" "G" "G!1" ))
(("" (assert )
(("" (expand "subgroup?" )
(("" (assert )
(("" (typepred "G!1" )
(("" (expand "finite_group?" )
(("" (flatten)
(("" (lemma "finite_subset[T]" )
(("" (inst?) (("" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((one formal-const-decl "T" finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(T formal-nonempty-type-decl nil finite_groups nil )
(finite_group nonempty-type-eq-decl nil group nil )
(finite_group? const-decl "bool" group_def nil )
(group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(set type-eq-decl nil sets nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(generated_is_subgroup formula-decl nil group nil )
(subgroup? const-decl "bool" group_def nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(is_finite const-decl "bool" finite_sets nil )
(G!1 skolem-const-decl "finite_group[T, *, one]" finite_groups nil )
(generated_by const-decl "group" group nil )
(finite_set type-eq-decl nil finite_sets nil )
(finite_subset formula-decl nil finite_sets nil )
(subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(member const-decl "bool" sets nil ))
shostak))
(finite_generated_by_def_TCC1 0
(finite_generated_by_def_TCC1-1 nil 3293285775
("" (skosimp*)
(("" (lemma "finite_generated_by" )
(("" (inst?) (("" (assert ) nil nil )) nil )) nil ))
nil )
((finite_generated_by formula-decl nil finite_groups nil )
(member const-decl "bool" sets nil )
(finite_group nonempty-type-eq-decl nil group nil )
(finite_group? const-decl "bool" group_def nil )
(one formal-const-decl "T" finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(set type-eq-decl nil sets nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(T formal-nonempty-type-decl nil finite_groups nil ))
shostak))
(finite_generated_by_def 0
(finite_generated_by_def-2 nil 3407237397
("" (skosimp*)
(("" (case "S!1(a!1)" )
(("1" (assert )
(("1" (typepred "G!1" )
(("1" (expand "finite_group?" )
(("1" (flatten)
(("1" (lemma "finite_subset" ("s" "S!1" "A" "G!1" ))
(("1" (assert )
(("1" (lemma "nonempty_card" ("S" "S!1" ))
(("1" (flatten -1)
(("1" (hide -2)
(("1" (case-replace "nonempty?(S!1)" )
(("1"
(name "X"
"{t: T | EXISTS (n: posnat): n <= card(S!1) AND t = a!1 ^ n}" )
(("1" (replace -1)
(("1"
(case "subset?(X,S!1)" )
(("1"
(name "N" "card(S!1)" )
(("1"
(replace -1)
(("1"
(case
"FORALL (n:posnat): n < N => a!1^n /= one" )
(("1"
(case
"FORALL (i,j:posnat): i <= N & j <= N & i /= j => a!1^i /= a!1^j" )
(("1"
(lemma
"card_bij"
("S" "X" "N" "N" ))
(("1"
(case
"(EXISTS (f: [(X) -> below[N]]): bijective?(f))" )
(("1"
(replace -1 -2)
(("1"
(flatten -2)
(("1"
(lemma
"same_card_subset"
("A" "X" "B" "S!1" ))
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide 2 -1)
(("2"
(name
"F"
"LAMBDA (n: below[N]):
IF n = 0 THEN a!1 ^ N ELSE a!1 ^ n ENDIF")
(("2"
(case
"bijective?[below[N],(X)](F)" )
(("1"
(lemma
"bijective_inverse_exists[below[N],(X)]"
("f" "F" ))
(("1"
(expand
"exists1" )
(("1"
(flatten)
(("1"
(skolem!)
(("1"
(lemma
"bij_inv_is_bij_alt[below[N],(X)]"
("f"
"F"
"g"
"x!1" ))
(("1"
(inst
+
"x!1" )
nil
nil )
("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(propax)
nil
nil ))
nil )
("2"
(hide 2)
(("2"
(expand "F" 1)
(("2"
(assert )
(("2"
(hide-all-but
(-2
-3
-4
1))
(("2"
(expand
"bijective?" )
(("2"
(split)
(("1"
(expand
"injective?" )
(("1"
(skosimp*)
(("1"
(case-replace
"x1!1=0" )
(("1"
(assert )
(("1"
(inst
-3
"N"
"x2!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(case-replace
"x2!1=0" )
(("1"
(inst
-
"x1!1"
"N" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
(("2"
(inst
-
"x1!1"
"x2!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"surjective?" )
(("2"
(skosimp*)
(("2"
(typepred
"y!1" )
(("2"
(expand
"X"
-1)
(("2"
(skolem!)
(("2"
(flatten)
(("2"
(expand
"<="
-1)
(("2"
(split
-1)
(("1"
(replace
-2)
(("1"
(inst
+
"n!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(replace
-5)
(("2"
(replace
-2)
(("2"
(replace
-1)
(("2"
(inst
+
"0" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(assert )
(("3"
(hide 2)
(("3"
(expand "X" 1)
(("3"
(expand
"F"
1)
(("3"
(skosimp*)
(("3"
(replace
-4)
(("3"
(typepred
"x1!1" )
(("3"
(case-replace
"x1!1=0" )
(("1"
(inst
+
"N" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
(("2"
(inst
+
"x1!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"generated_is_subgroup"
("a" "a!1" "G" "G!1" ))
(("2"
(expand "subgroup?" )
(("2"
(assert )
(("2"
(lemma
"finite_subset"
("s" "X" "A" "S!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skosimp*)
(("2"
(lemma
"trichotomy"
("x" "i!1-j!1" ))
(("2"
(split -1)
(("1"
(lemma
"cancel_right"
("z"
"a!1^(-j!1)"
"x"
"a!1^i!1"
"y"
"a!1^j!1" ))
(("1"
(rewrite
"expt_mult"
-1)
(("1"
(rewrite
"expt_mult"
-1)
(("1"
(assert )
(("1"
(inst
-
"i!1-j!1" )
(("1"
(assert )
(("1"
(rewrite
"expt_0" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil )
("3"
(lemma
"cancel_right"
("z"
"a!1^(-i!1)"
"x"
"a!1 ^ i!1"
"y"
"a!1 ^ j!1" ))
(("3"
(rewrite
"expt_mult"
-1)
(("3"
(rewrite
"expt_mult"
-1)
(("3"
(assert )
(("3"
(inst
-
"j!1-i!1" )
(("3"
(assert )
(("3"
(rewrite
"expt_0" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skosimp*)
(("2"
(case "subset?(S!1,X)" )
(("1"
(lemma
"subset_antisymmetric"
("a" "S!1" "b" "X" ))
(("1" (assert ) nil nil ))
nil )
("2"
(hide 2)
(("2"
(expand "subset?" )
(("2"
(skosimp*)
(("2"
(expand "member" )
(("2"
(replace -6 1 rl)
(("2"
(expand
"generated_by" )
(("2"
(assert )
(("2"
(replace
-14
-1)
(("2"
(simplify
-1)
(("2"
(skolem!)
(("2"
(typepred
"n!1" )
(("2"
(case
"EXISTS (k:below[N],j:int): i!1 = j*n!1+k" )
(("1"
(skolem!)
(("1"
(typepred
"k!1" )
(("1"
(case-replace
"k!1=0" )
(("1"
(replace
-3
-5)
(("1"
(lemma
"expt_expt"
("a"
"a!1"
"i"
"n!1"
"j"
"j!1" ))
(("1"
(replace
-8
-1)
(("1"
(assert )
(("1"
(replace
-1
*
rl)
(("1"
(replace
-6)
(("1"
(inst
+
"n!1" )
(("1"
(assert )
(("1"
(rewrite
"one_expt" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-2
-4)
(("2"
(lemma
"expt_expt"
("a"
"a!1"
"i"
"n!1"
"j"
"j!1" ))
(("2"
(replace
-7)
(("2"
(assert )
(("2"
(rewrite
"expt_mult"
-5
:dir
rl)
(("2"
(replace
-1
*
rl)
(("2"
(assert )
(("2"
(inst
+
"k!1" )
(("2"
(assert )
(("2"
(rewrite
"one_expt" )
(("2"
(assert )
(("2"
(rewrite
"left_identity" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
2)
(("2"
(hide-all-but
(-1
-3
1))
(("2"
(inst
+
"fractional(i!1/n!1)*n!1"
"floor(i!1/n!1)" )
(("1"
(lemma
"real_parts"
("x"
"i!1/n!1" ))
(("1"
(rewrite
"div_cancel3"
-1)
nil
nil ))
nil )
("2"
(typepred
"fractional(i!1 / n!1)" )
(("2"
(mult-by
-1
"n!1" )
(("2"
(mult-by
-2
"n!1" )
(("2"
(assert )
(("2"
(expand
"fractional" )
(("2"
(case-replace
"i!1 / n!1 * n!1 = i!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "subset?" )
(("2"
(replace -1 * rl)
(("2"
(hide 2)
(("2"
(skosimp*)
(("2"
(expand "member" )
(("2"
(expand "generated_by" )
(("2"
(skosimp*)
(("2"
(replace -2 1)
(("2"
(replace -11 1)
(("2"
(simplify 1)
(("2"
(inst + "n!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "nonempty?" )
(("2" (expand "empty?" )
(("2"
(inst - "a!1" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma "generated_is_subgroup"
("a" "a!1" "G" "G!1" ))
(("2" (expand "subgroup?" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (replace -2)
(("2" (hide-all-but 1)
(("2" (expand "generated_by" )
(("2" (inst + "1" )
(("2" (assert ) (("2" (rewrite "expt_1" ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(T formal-nonempty-type-decl nil finite_groups nil )
(finite_group nonempty-type-eq-decl nil group nil )
(finite_group? const-decl "bool" group_def nil )
(one formal-const-decl "T" finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(< const-decl "bool" reals nil )
(/= const-decl "boolean" notequal nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(trichotomy formula-decl nil real_axioms nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(minus_nzint_is_nzint application-judgement "nzint" integers nil )
(cancel_right formula-decl nil group nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(expt_0 formula-decl nil group nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(expt_mult formula-decl nil group nil )
(card_bij formula-decl nil finite_sets nil )
(exists1 const-decl "bool" exists1 nil )
(inverse? const-decl "bool" function_inverse_def nil )
(bij_inv_is_bij_alt formula-decl nil function_inverse_def nil )
(bijective_inverse_exists formula-decl nil function_inverse_def
nil )
(F skolem-const-decl "[below[N] -> T]" finite_groups nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(injective? const-decl "bool" functions nil )
(X skolem-const-decl "[T -> boolean]" finite_groups nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(n!1 skolem-const-decl "posnat" finite_groups nil )
(S!1 skolem-const-decl "(nonempty?[T])" finite_groups nil )
(N skolem-const-decl "{n: nat | n = Card(S!1)}" finite_groups nil )
(surjective? const-decl "bool" functions nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(same_card_subset formula-decl nil finite_sets nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(bijective? const-decl "bool" functions nil )
(below type-eq-decl nil nat_types nil )
(subgroup? const-decl "bool" group_def nil )
(group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(generated_is_subgroup formula-decl nil group nil )
(subset_antisymmetric formula-decl nil sets_lemmas nil )
(generated_by const-decl "group" group nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(left_identity formula-decl nil monad nil )
(one_expt formula-decl nil group nil )
(expt_expt formula-decl nil group nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(both_sides_times_pos_lt1 formula-decl nil real_props nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(rat_times_rat_is_rat application-judgement "rat" rationals nil )
(rat_minus_rat_is_rat application-judgement "rat" rationals nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(both_sides_times_pos_le1_imp formula-decl nil extra_real_props
nil )
(real_parts formula-decl nil floor_ceil nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(div_cancel3 formula-decl nil real_props nil )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(integer nonempty-type-from-decl nil integers nil )
(floor const-decl "{i | i <= x & x < i + 1}" floor_ceil nil )
(n!1 skolem-const-decl "posnat" finite_groups nil )
(i!1 skolem-const-decl "int" finite_groups nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(fractional const-decl "{x | 0 <= x & x < 1}" floor_ceil nil )
(rat_div_nzrat_is_rat application-judgement "rat" rationals nil )
(real_times_real_is_real application-judgement "real" reals nil )
(subset? const-decl "bool" sets nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Card const-decl "nat" finite_sets nil )
(card const-decl "{n: nat | n = Card(S)}" finite_sets nil )
(^ const-decl "T" group nil ) (empty? const-decl "bool" sets nil )
(nonempty_card formula-decl nil finite_sets nil )
(finite_subset formula-decl nil finite_sets nil )
(is_finite const-decl "bool" finite_sets nil )
(finite_set type-eq-decl nil finite_sets nil )
(member const-decl "bool" sets nil )
(expt_1 formula-decl nil group nil ))
nil )
(finite_generated_by_def-1 nil 3293256444
("" (skosimp*)
(("" (case "S!1(a!1)" )
(("1" (assert )
(("1" (typepred "G!1" )
(("1" (expand "finite_group?" )
(("1" (flatten)
(("1" (lemma "finite_subset" ("s" "S!1" "A" "G!1" ))
(("1" (assert )
(("1" (lemma "nonempty_card" ("S" "S!1" ))
(("1" (flatten -1)
(("1" (hide -2)
(("1" (case-replace "nonempty?(S!1)" )
(("1"
(name "X"
"{t: T | EXISTS (n: posnat): n <= card(S!1) AND t = a!1 ^ n}" )
(("1" (replace -1)
(("1"
(case "subset?(X,S!1)" )
(("1"
(name "N" "card(S!1)" )
(("1"
(replace -1)
(("1"
(case
"FORALL (n:posnat): n < N => a!1^n /= one" )
(("1"
(case
"FORALL (i,j:posnat): i <= N & j <= N & i /= j => a!1^i /= a!1^j" )
(("1"
(lemma
"card_bij"
("S" "X" "N" "N" ))
(("1"
(case
"(EXISTS (f: [(X) -> below[N]]): bijective?(f))" )
(("1"
(replace -1 -2)
(("1"
(flatten -2)
(("1"
(lemma
"same_card_subset"
("A" "X" "B" "S!1" ))
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide 2 -1)
(("2"
(name
"F"
"LAMBDA (n: below[N]):
IF n = 0 THEN a!1 ^ N ELSE a!1 ^ n ENDIF")
(("2"
(case
"bijective?[below[N],(X)](F)" )
(("1"
(lemma
"bijective_inv_exists[below[N],(X)]"
("f" "F" ))
(("1"
(expand
"exists1" )
(("1"
(flatten)
(("1"
(skolem!)
(("1"
(lemma
"bij_inv_is_bij_alt[below[N],(X)]"
("f"
"F"
"g"
"x!1" ))
(("1"
(inst
+
"x!1" )
nil
nil )
("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(replace -1)
(("2"
(skosimp*)
(("2"
(expand
"X"
1)
(("2"
(expand
"F"
1)
(("2"
(case-replace
"x1!1=0" )
(("1"
(inst
+
"N" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(inst
+
"x1!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(expand "F" 1)
(("2"
(hide-all-but
(-2 -3 -4 1))
(("2"
(expand
"bijective?" )
(("2"
(split)
(("1"
(expand
"injective?" )
(("1"
(skosimp*)
(("1"
(case-replace
"x1!1=0" )
(("1"
(assert )
(("1"
(inst
-3
"N"
"x2!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(case-replace
"x2!1=0" )
(("1"
(inst
-
"x1!1"
"N" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
(("2"
(inst
-
"x1!1"
"x2!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"surjective?" )
(("2"
(skosimp*)
(("2"
(typepred
"y!1" )
(("2"
(expand
"X"
-1)
(("2"
(skolem!)
(("2"
(flatten)
(("2"
(expand
"<="
-1)
(("2"
(split
-1)
(("1"
(replace
-2)
(("1"
(inst
+
"n!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(replace
-5)
(("2"
(replace
-2)
(("2"
(replace
-1)
(("2"
(inst
+
"0" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide 2)
(("3"
(expand "X" 1)
(("3"
(expand "F" 1)
(("3"
(skosimp*)
(("3"
(replace
-4)
(("3"
(typepred
"x1!1" )
(("3"
(case-replace
"x1!1=0" )
(("1"
(inst
+
"N" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
(("2"
(inst
+
"x1!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"generated_is_subgroup"
("a" "a!1" "G" "G!1" ))
(("2"
(expand "subgroup?" )
(("2"
(assert )
(("2"
(lemma
"finite_subset"
("s" "X" "A" "S!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skosimp*)
(("2"
(lemma
"trichotomy"
("x" "i!1-j!1" ))
(("2"
(split -1)
(("1"
(lemma
"cancel_right"
("z"
"a!1^(-j!1)"
"x"
"a!1^i!1"
"y"
"a!1^j!1" ))
(("1"
(rewrite
"expt_mult"
-1)
(("1"
(rewrite
"expt_mult"
-1)
(("1"
(assert )
(("1"
(inst
-
"i!1-j!1" )
(("1"
(assert )
(("1"
(rewrite
"expt_0" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil )
("3"
(lemma
"cancel_right"
("z"
"a!1^(-i!1)"
"x"
"a!1 ^ i!1"
"y"
"a!1 ^ j!1" ))
(("3"
(rewrite
"expt_mult"
-1)
(("3"
(rewrite
"expt_mult"
-1)
(("3"
(assert )
(("3"
(inst
-
"j!1-i!1" )
(("3"
(assert )
(("3"
(rewrite
"expt_0" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skosimp*)
(("2"
(case "subset?(S!1,X)" )
(("1"
(lemma
"subset_antisymmetric"
("a" "S!1" "b" "X" ))
(("1" (assert ) nil nil ))
nil )
("2"
(hide 2)
(("2"
(expand "subset?" )
(("2"
(skosimp*)
(("2"
(expand "member" )
(("2"
(replace -6 1 rl)
(("2"
(expand
"generated_by" )
(("2"
(assert )
(("2"
(replace
-14
-1)
(("2"
(simplify
-1)
(("2"
(skolem!)
(("2"
(typepred
"n!1" )
(("2"
(case
"EXISTS (k:below[N],j:int): i!1 = j*n!1+k" )
(("1"
(skolem!)
(("1"
(typepred
"k!1" )
(("1"
(case-replace
"k!1=0" )
(("1"
(replace
-3
-5)
(("1"
(lemma
"expt_expt"
("a"
"a!1"
"i"
"n!1"
"j"
"j!1" ))
(("1"
(replace
-8
-1)
(("1"
(assert )
(("1"
(replace
-1
*
rl)
(("1"
(replace
-6)
(("1"
(inst
+
"n!1" )
(("1"
(assert )
(("1"
(rewrite
"one_expt" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-2
-4)
(("2"
(lemma
"expt_expt"
("a"
"a!1"
"i"
"n!1"
"j"
"j!1" ))
(("2"
(replace
-7)
(("2"
(assert )
(("2"
(rewrite
"expt_mult"
-5
:dir
rl)
(("2"
(replace
-1
*
rl)
(("2"
(assert )
(("2"
(inst
+
"k!1" )
(("2"
(assert )
(("2"
(rewrite
"one_expt" )
(("2"
(assert )
(("2"
(rewrite
"left_identity" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
2)
(("2"
(hide-all-but
(-1
-3
1))
(("2"
(inst
+
"fractional(i!1/n!1)*n!1"
"floor(i!1/n!1)" )
(("1"
(lemma
"real_parts"
("x"
"i!1/n!1" ))
(("1"
(rewrite
"div_cancel3"
-1)
nil
nil ))
nil )
("2"
(typepred
"fractional(i!1 / n!1)" )
(("2"
(mult-by
-1
"n!1" )
(("2"
(mult-by
-2
"n!1" )
(("2"
(assert )
(("2"
(expand
"fractional" )
(("2"
(case-replace
"i!1 / n!1 * n!1 = i!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "subset?" )
(("2"
(replace -1 * rl)
(("2"
(hide 2)
(("2"
(skosimp*)
(("2"
(expand "member" )
(("2"
(expand "generated_by" )
(("2"
(skosimp*)
(("2"
(replace -2 1)
(("2"
(replace -11 1)
(("2"
(simplify 1)
(("2"
(inst + "n!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "nonempty?" )
(("2" (expand "empty?" )
(("2"
(inst - "a!1" )
(("2"
(assert )
(("2"
(expand "member" )
(("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma "generated_is_subgroup"
("a" "a!1" "G" "G!1" ))
(("2" (expand "subgroup?" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (replace -2)
(("2" (hide-all-but 1)
(("2" (expand "generated_by" )
(("2" (inst + "1" )
(("2" (assert ) (("2" (rewrite "expt_1" ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((finite_group nonempty-type-eq-decl nil group nil )
(finite_group? const-decl "bool" group_def nil )
(cancel_right formula-decl nil group nil )
(expt_0 formula-decl nil group nil )
(expt_mult formula-decl nil group nil )
(subgroup? const-decl "bool" group_def nil )
(group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(generated_is_subgroup formula-decl nil group nil )
(generated_by const-decl "group" group nil )
(left_identity formula-decl nil monad nil )
(one_expt formula-decl nil group nil )
(expt_expt formula-decl nil group nil ) (^ const-decl "T" group nil )
(expt_1 formula-decl nil group nil ))
shostak))
(finite_generated_by_one 0
(finite_generated_by_one-3 nil 3407237584
("" (skosimp*)
((""
(lemma "finite_generated_by_def" ("a" "a!1" "G" "G!1" "S" "S!1" ))
(("" (assert )
(("" (typepred "G!1" )
(("" (expand "finite_group?" )
(("" (flatten)
((""
(lemma "generated_is_subgroup" ("a" "a!1" "G" "G!1" ))
(("" (expand "subgroup?" )
(("" (assert )
(("" (lemma "finite_subset" ("s" "S!1" "A" "G!1" ))
(("" (assert )
(("" (name "N" "card(S!1)" )
(("" (replace -1)
((""
(case "EXISTS (i:posnat): i < N AND a!1^i = one" )
(("1"
(skosimp*)
(("1"
(name
"B"
"{t: T | EXISTS (n: posnat): n <= i!1 AND t = a!1 ^ n}" )
(("1"
(case "subset?(B,S!1)" )
(("1"
(lemma
"finite_subset"
("s" "B" "A" "S!1" ))
(("1"
(assert )
(("1"
(lemma
"smaller_card_subset"
("A" "B" "B" "S!1" ))
(("1"
(assert )
(("1"
(case "card(B) <= i!1" )
(("1"
(assert )
(("1"
(skosimp*)
(("1"
(replace -13 -2)
(("1"
(assert )
(("1"
(replace
-5
1
rl)
(("1"
(assert )
(("1"
(skosimp*)
(("1"
(case
"n!1<=i!1" )
(("1"
(inst
+
"n!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(typepred
"i!1" )
(("2"
(lemma
"euclid_nat" )
(("2"
(inst
-
"n!1"
"i!1" )
(("2"
(skosimp)
(("2"
(case
"r!1=0" )
(("1"
(replace
-1)
(("1"
(lemma
"expt_expt"
("a"
"a!1"
"i"
"i!1"
"j"
"q!1" ))
(("1"
(replace
-12)
(("1"
(rewrite
"one_expt" )
(("1"
(replace
-3
-1
rl)
(("1"
(assert )
(("1"
(inst
+
"i!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
+
"r!1" )
(("1"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"i!1*q!1"
"j"
"r!1" ))
(("1"
(lemma
"expt_expt"
("a"
"a!1"
"i"
"i!1"
"j"
"q!1" ))
(("1"
(replace
-12)
(("1"
(rewrite
"one_expt" )
(("1"
(replace
-1
*
rl)
(("1"
(rewrite
"left_identity" )
(("1"
(replace
-3
-2
rl)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-2 -4 -6 1))
(("2"
(rewrite "card_def" )
(("2"
(lemma
"Card_injection[T]"
("S"
"B"
"n"
"i!1" ))
(("2"
(split -1)
(("1"
(propax)
nil
nil )
("2"
(hide 2)
(("2"
(name
"F"
"lambda (i:below[i!1]): a!1^(i+1)" )
(("2"
(case
"surjective?[below[i!1],(B)](F)" )
(("1"
(typepred
"i!1" )
(("1"
(lemma
"inj_inv[below[i!1],(B)]"
("f"
"F" ))
(("1"
(assert )
(("1"
(inst
+
"inverse(F)" )
(("1"
(assert )
(("1"
(expand
"injective?" )
(("1"
(skosimp*)
(("1"
(typepred
"x1!1" )
(("1"
(typepred
"x2!1" )
(("1"
(expand
"restrict" )
(("1"
(inst
-3
"x1!1"
"x2!1" )
(("1"
(assert )
(("1"
(expand
"inverse" )
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
+
"0" )
nil
nil ))
nil ))
nil )
("2"
(inst
+
"0" )
nil
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(replace
-1
1
rl)
(("2"
(expand
"surjective?" )
(("2"
(skosimp*)
(("2"
(typepred
"y!1" )
(("2"
(replace
-4
-1
rl)
(("2"
(assert )
(("2"
(skosimp*)
(("2"
(case-replace
"n!1=i!1" )
(("1"
(assert )
(("1"
(replace
-3)
(("1"
(replace
-7)
(("1"
(case
"i!1=0" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"i!1-1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case-replace
"n!1=0" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"n!1-1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide 2)
(("3"
(replace
-3
1
rl)
(("3"
(replace
-1
1
rl)
(("3"
(skosimp*)
(("3"
(typepred
"x1!1" )
(("3"
(inst
+
"x1!1+1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "subset?" )
(("2"
(skosimp*)
(("2"
(assert )
(("2"
(replace -2 -1 rl)
(("2"
(replace -10 1)
(("2"
(assert )
(("2"
(typepred
"generated_by(a!1)" )
(("2"
(expand "group?" )
(("2"
(expand
"monoid?" )
(("2"
(flatten)
(("2"
(assert )
(("2"
(expand
"monad?" )
(("2"
(flatten)
(("2"
(expand
"member" )
(("2"
(assert )
(("2"
(skosimp)
(("2"
(case-replace
"n!1=N" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(typepred "generated_by(a!1)" )
(("2"
(expand "group?" )
(("2"
(expand "monoid?" )
(("2"
(flatten)
(("2"
(assert )
(("2"
(expand "monad?" )
(("2"
(flatten)
(("2"
(expand "member" )
(("2"
(replace -17 -2 rl)
(("2"
(replace -15 -2)
(("2"
(assert )
(("2"
(skosimp)
(("2"
(case-replace
"n!1=N" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nonempty? const-decl "bool" sets nil )
(finite_group nonempty-type-eq-decl nil group nil )
(finite_group? const-decl "bool" group_def nil )
(one formal-const-decl "T" finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(set type-eq-decl nil sets nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(T formal-nonempty-type-decl nil finite_groups nil )
(finite_generated_by_def formula-decl nil finite_groups nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(subgroup? const-decl "bool" group_def nil )
(finite_subset formula-decl nil finite_sets nil )
(is_finite const-decl "bool" finite_sets nil )
(finite_set type-eq-decl nil finite_sets nil )
(card const-decl "{n: nat | n = Card(S)}" finite_sets nil )
(Card const-decl "nat" finite_sets nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(number nonempty-type-decl nil numbers nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(< const-decl "bool" reals nil ) (^ const-decl "T" group nil )
(<= const-decl "bool" reals nil )
(generated_by const-decl "group" group nil )
(monoid? const-decl "bool" monoid_def nil )
(monad? const-decl "bool" monad_def nil )
(smaller_card_subset formula-decl nil finite_sets nil )
(euclid_nat formula-decl nil euclidean_division nil )
(i!1 skolem-const-decl "posnat" finite_groups nil )
(r!1 skolem-const-decl "mod(i!1)" finite_groups nil )
(left_identity formula-decl nil monad nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(expt_mult formula-decl nil group nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(one_expt formula-decl nil group nil )
(expt_expt formula-decl nil group nil )
(mod nonempty-type-eq-decl nil euclidean_division nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(card_def formula-decl nil finite_sets nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(below type-eq-decl nil nat_types nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(n!1 skolem-const-decl "posnat" finite_groups nil )
(injective? const-decl "bool" functions nil )
(restrict const-decl "R" restrict nil )
(inverse const-decl "D" function_inverse nil )
(TRUE const-decl "bool" booleans nil )
(inj_inv formula-decl nil function_inverse nil )
(surjective? const-decl "bool" functions nil )
(Card_injection formula-decl nil finite_sets nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(subset? const-decl "bool" sets nil )
(subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(generated_is_subgroup formula-decl nil group nil )
(member const-decl "bool" sets nil ))
nil )
(finite_generated_by_one-2 nil 3397484484
("" (auto-rewrite "member" )
(("" (skosimp*)
((""
(lemma "finite_generated_by_def"
("a" "a!1" "G" "G!1" "S" "S!1" ))
(("" (assert )
(("" (typepred "G!1" )
(("" (expand "finite_group?" )
(("" (flatten)
((""
(lemma "generated_is_subgroup" ("a" "a!1" "G" "G!1" ))
(("" (expand "subgroup?" )
(("" (assert )
((""
(lemma "finite_subset" ("s" "S!1" "A" "G!1" ))
(("" (assert )
(("" (name "N" "card(S!1)" )
(("" (replace -1)
((""
(case
"EXISTS (i:posnat): i < N AND a!1^i = one" )
(("1"
(skosimp*)
(("1"
(name
"B"
"{t: T | EXISTS (n: posnat): n <= i!1 AND t = a!1 ^ n}" )
(("1"
(case "subset?(B,S!1)" )
(("1"
(lemma
"finite_subset"
("s" "B" "A" "S!1" ))
(("1"
(assert )
(("1"
(lemma
"smaller_card_subset"
("A" "B" "B" "S!1" ))
(("1"
(assert )
(("1"
(case "card(B) <= i!1" )
(("1"
(assert )
(("1"
(skosimp*)
(("1"
(replace -13 -2)
(("1"
(assert )
(("1"
(replace
-5
1
rl)
(("1"
(assert )
(("1"
(skosimp*)
(("1"
(case
"n!1<=i!1" )
(("1"
(inst
+
"n!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(typepred
"i!1" )
(("2"
(lemma
"euclid_nat" )
(("2"
(inst
-
"n!1"
"i!1" )
(("2"
(skosimp)
(("2"
(case
"r!1=0" )
(("1"
(replace
-1)
(("1"
(lemma
"expt_expt"
("a"
"a!1"
"i"
"i!1"
"j"
"q!1" ))
(("1"
(replace
-12)
(("1"
(rewrite
"one_expt" )
(("1"
(replace
-3
-1
rl)
(("1"
(assert )
(("1"
(inst
+
"i!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
+
"r!1" )
(("1"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"i!1*q!1"
"j"
"r!1" ))
(("1"
(lemma
"expt_expt"
("a"
"a!1"
"i"
"i!1"
"j"
"q!1" ))
(("1"
(replace
-12)
(("1"
(rewrite
"one_expt" )
(("1"
(replace
-1
*
rl)
(("1"
(rewrite
"left_identity" )
(("1"
(replace
-3
-2
rl)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-2 -4 -6 1))
(("2"
(rewrite
"card_def" )
(("2"
(lemma
"Card_injection[T]"
("S"
"B"
"n"
"i!1" ))
(("2"
(split -1)
(("1"
(propax)
nil
nil )
("2"
(hide 2)
(("2"
(name
"F"
"lambda (i:below[i!1]): a!1^(i+1)" )
(("2"
(case
"surjective?[below[i!1],(B)](F)" )
(("1"
(typepred
"i!1" )
(("1"
(lemma
"inj_inv[below[i!1],(B)]"
("f"
"F" ))
(("1"
(assert )
(("1"
(inst
+
"inv(F)" )
(("1"
(assert )
(("1"
(expand
"injective?" )
(("1"
(skosimp*)
(("1"
(typepred
"x1!1" )
(("1"
(typepred
"x2!1" )
(("1"
(expand
"restrict" )
(("1"
(inst
-3
"x1!1"
"x2!1" )
(("1"
(assert )
(("1"
(expand
"inv" )
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
+
"0" )
nil
nil ))
nil ))
nil )
("2"
(inst
+
"0" )
nil
nil ))
nil ))
nil )
("2"
(hide
2)
(("2"
(replace
-1
1
rl)
(("2"
(expand
"surjective?" )
(("2"
(skosimp*)
(("2"
(typepred
"y!1" )
(("2"
(replace
-4
-1
rl)
(("2"
(assert )
(("2"
(skosimp*)
(("2"
(case-replace
"n!1=i!1" )
(("1"
(assert )
(("1"
(replace
-3)
(("1"
(replace
-7)
(("1"
(case
"i!1=0" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"i!1-1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case-replace
"n!1=0" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"n!1-1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide
2)
(("3"
(replace
-3
1
rl)
(("3"
(replace
-1
1
rl)
(("3"
(skosimp*)
(("3"
(typepred
"x1!1" )
(("3"
(inst
+
"x1!1+1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "subset?" )
(("2"
(skosimp*)
(("2"
(assert )
(("2"
(replace -2 -1 rl)
(("2"
(replace -10 1)
(("2"
(assert )
(("2"
(typepred
"generated_by(a!1)" )
(("2"
(expand "group?" )
(("2"
(expand
"monoid?" )
(("2"
(flatten)
(("2"
(assert )
(("2"
(expand
"monad?" )
(("2"
(flatten)
(("2"
(expand
"member" )
(("2"
(assert )
(("2"
(skosimp)
(("2"
(case-replace
"n!1=N" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(typepred "generated_by(a!1)" )
(("2"
(expand "group?" )
(("2"
(expand "monoid?" )
(("2"
(flatten)
(("2"
(assert )
(("2"
(expand "monad?" )
(("2"
(flatten)
(("2"
(expand "member" )
(("2"
(replace -17 -2 rl)
(("2"
(replace -15 -2)
(("2"
(assert )
(("2"
(skosimp)
(("2"
(case-replace
"n!1=N" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((finite_group nonempty-type-eq-decl nil group nil )
(finite_group? const-decl "bool" group_def nil )
(subgroup? const-decl "bool" group_def nil )
(^ const-decl "T" group nil )
(generated_by const-decl "group" group nil )
(monoid? const-decl "bool" monoid_def nil )
(monad? const-decl "bool" monad_def nil )
(left_identity formula-decl nil monad nil )
(expt_mult formula-decl nil group nil )
(one_expt formula-decl nil group nil )
(expt_expt formula-decl nil group nil )
(group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(generated_is_subgroup formula-decl nil group nil ))
nil )
(finite_generated_by_one-1 nil 3293491013
("" (skosimp*)
((""
(lemma "finite_generated_by_def" ("a" "a!1" "G" "G!1" "S" "S!1" ))
(("" (assert )
(("" (typepred "G!1" )
(("" (expand "finite_group?" )
(("" (flatten)
((""
(lemma "generated_is_subgroup" ("a" "a!1" "G" "G!1" ))
(("" (expand "subgroup?" )
(("" (assert )
(("" (lemma "finite_subset" ("s" "S!1" "A" "G!1" ))
(("" (assert )
(("" (name "N" "card(S!1)" )
(("" (replace -1)
((""
(case "EXISTS (i:posnat): i < N AND a!1^i = one" )
(("1"
(skosimp*)
(("1"
(name
"B"
"{t: T | EXISTS (n: posnat): n <= i!1 AND t = a!1 ^ n}" )
(("1"
(case "subset?(B,S!1)" )
(("1"
(lemma
"finite_subset"
("s" "B" "A" "S!1" ))
(("1"
(assert )
(("1"
(lemma
"smaller_card_subset"
("A" "B" "B" "S!1" ))
(("1"
(assert )
(("1"
(case "card(B) <= i!1" )
(("1"
(assert )
(("1"
(skosimp*)
(("1"
(replace -13 -2)
(("1"
(assert )
(("1"
(replace
-5
1
rl)
(("1"
(assert )
(("1"
(skosimp*)
(("1"
(case
"n!1<=i!1" )
(("1"
(inst
+
"n!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(typepred
"i!1" )
(("2"
(lemma
"euclid_nat" )
(("2"
(inst
-
"n!1"
"i!1" )
(("2"
(skosimp)
(("2"
(case
"r!1=0" )
(("1"
(replace
-1)
(("1"
(lemma
"expt_expt"
("a"
"a!1"
"i"
"i!1"
"j"
"q!1" ))
(("1"
(replace
-12)
(("1"
(rewrite
"one_expt" )
(("1"
(replace
-3
-1
rl)
(("1"
(assert )
(("1"
(inst
+
"i!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
+
"r!1" )
(("1"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"i!1*q!1"
"j"
"r!1" ))
(("1"
(lemma
"expt_expt"
("a"
"a!1"
"i"
"i!1"
"j"
"q!1" ))
(("1"
(replace
-12)
(("1"
(rewrite
"one_expt" )
(("1"
(replace
-1
*
rl)
(("1"
(rewrite
"left_identity" )
(("1"
(replace
-3
-2
rl)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-2 -4 -6 1))
(("2"
(rewrite "card_def" )
(("2"
(lemma
"Card_injection[T]"
("S"
"B"
"n"
"i!1" ))
(("2"
(split -1)
(("1"
(propax)
nil
nil )
("2"
(hide 2)
(("2"
(name
"F"
"lambda (i:below[i!1]): a!1^(i+1)" )
(("2"
(case
"surjective?[below[i!1],(B)](F)" )
(("1"
(typepred
"i!1" )
(("1"
(lemma
"inj_inv[below[i!1],(B)]"
("f"
"F" ))
(("1"
(assert )
(("1"
(inst
+
"inv(F)" )
(("1"
(assert )
(("1"
(expand
"injective?" )
(("1"
(skosimp*)
(("1"
(typepred
"x1!1" )
(("1"
(typepred
"x2!1" )
(("1"
(expand
"restrict" )
(("1"
(inst
-3
"x1!1"
"x2!1" )
(("1"
(assert )
(("1"
(expand
"inv" )
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
+
"0" )
nil
nil ))
nil ))
nil )
("2"
(inst
+
"0" )
nil
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(replace
-1
1
rl)
(("2"
(expand
"surjective?" )
(("2"
(skosimp*)
(("2"
(typepred
"y!1" )
(("2"
(replace
-4
-1
rl)
(("2"
(assert )
(("2"
(skosimp*)
(("2"
(case-replace
"n!1=i!1" )
(("1"
(assert )
(("1"
(replace
-3)
(("1"
(replace
-7)
(("1"
(case
"i!1=0" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"i!1-1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case-replace
"n!1=0" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"n!1-1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide 2)
(("3"
(replace
-3
1
rl)
(("3"
(replace
-1
1
rl)
(("3"
(skosimp*)
(("3"
(typepred
"x1!1" )
(("3"
(inst
+
"x1!1+1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "subset?" )
(("2"
(skosimp*)
(("2"
(assert )
(("2"
(replace -2 -1 rl)
(("2"
(replace -10 1)
(("2"
(assert )
(("2"
(typepred
"generated_by(a!1)" )
(("2"
(expand "group?" )
(("2"
(expand
"monoid?" )
(("2"
(flatten)
(("2"
(assert )
(("2"
(expand
"monad?" )
(("2"
(flatten)
(("2"
(expand
"member" )
(("2"
(assert )
(("2"
(skosimp)
(("2"
(case-replace
"n!1=N" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(typepred "generated_by(a!1)" )
(("2"
(expand "group?" )
(("2"
(expand "monoid?" )
(("2"
(flatten)
(("2"
(assert )
(("2"
(expand "monad?" )
(("2"
(flatten)
(("2"
(expand "member" )
(("2"
(replace -17 -2 rl)
(("2"
(replace -15 -2)
(("2"
(assert )
(("2"
(skosimp)
(("2"
(case-replace
"n!1=N" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((finite_group? const-decl "bool" group_def nil )
(subgroup? const-decl "bool" group_def nil )
(^ const-decl "T" group nil )
(generated_by const-decl "group" group nil )
(monoid? const-decl "bool" monoid_def nil )
(monad? const-decl "bool" monad_def nil )
(left_identity formula-decl nil monad nil )
(expt_mult formula-decl nil group nil )
(one_expt formula-decl nil group nil )
(expt_expt formula-decl nil group nil )
(group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(generated_is_subgroup formula-decl nil group nil ))
shostak))
(generated_by_card_1_TCC1 0
(generated_by_card_1_TCC1-1 nil 3397224769
("" (skosimp*)
(("" (lemma "finite_generated_by" )
(("" (inst?) (("" (assert ) nil nil )) nil )) nil ))
nil )
((finite_generated_by formula-decl nil finite_groups nil )
(member const-decl "bool" sets nil )
(finite_group nonempty-type-eq-decl nil group nil )
(finite_group? const-decl "bool" group_def nil )
(one formal-const-decl "T" finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(set type-eq-decl nil sets nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(T formal-nonempty-type-decl nil finite_groups nil ))
nil ))
(generated_by_card_1 0
(generated_by_card_1-1 nil 3397224781
("" (skosimp*)
(("" (lemma "generated_by_lem" )
(("" (inst - "a!1" "0" )
(("" (expand "^" )
(("" (expand "power" )
(("" (assert )
(("" (lemma "card_one[T]" )
(("" (inst?)
(("" (assert )
(("" (skosimp*)
(("" (replace -1)
(("" (expand "singleton" )
(("" (assert )
(("" (replace -2 * rl)
((""
(lemma "generated_by_lem" )
((""
(inst - "a!1" "1" )
((""
(expand "^" )
((""
(expand "power" )
((""
(expand "power" )
((""
(assert )
((""
(lemma "right_identity" )
((""
(inst?)
((""
(assert )
((""
(replace -1)
((""
(hide -1)
((""
(replace -2)
((""
(hide -2)
((""
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((one formal-const-decl "T" finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(T formal-nonempty-type-decl nil finite_groups nil )
(generated_by_lem formula-decl nil group nil )
(^ const-decl "T" group nil ) (member const-decl "bool" sets nil )
(generated_by const-decl "group" group nil )
(group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(finite_set type-eq-decl nil finite_sets nil )
(is_finite const-decl "bool" finite_sets nil )
(set type-eq-decl nil sets nil )
(bool nonempty-type-eq-decl nil booleans nil )
(singleton const-decl "(singleton?)" sets nil )
(right_identity formula-decl nil monad nil )
(card_one formula-decl nil finite_sets nil )
(power def-decl "T" monoid_def nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
nil ))
(finite_group_elements 0
(finite_group_elements-1 nil 3293215122
("" (skosimp*)
((""
(lemma "finite_generated_by_def"
("a" "a!1" "G" "G!1" "S" "generated_by(a!1)" ))
(("1" (assert )
(("1" (expand "finite_order?" )
(("1" (expand "infinite_order?" )
(("1" (typepred "generated_by(a!1)" )
(("1" (expand "group?" )
(("1" (expand "monoid?" )
(("1" (flatten)
(("1" (assert )
(("1" (expand "monad?" )
(("1" (flatten)
(("1" (expand "member" )
(("1" (replace -6 -2)
(("1"
(assert )
(("1"
(skosimp*)
(("1"
(typepred "n!1" )
(("1"
(inst - "n!1" )
(("1"
(expand "^" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "nonempty?" )
(("2" (expand "empty?" )
(("2" (inst - "a!1" )
(("2" (expand "generated_by" )
(("2" (assert )
(("2" (expand "member" )
(("2" (inst + "1" ) (("2" (rewrite "expt_1" ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((generated_by const-decl "group" group nil )
(group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(nonempty? const-decl "bool" sets nil )
(finite_group nonempty-type-eq-decl nil group nil )
(finite_group? const-decl "bool" group_def nil )
(one formal-const-decl "T" finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(set type-eq-decl nil sets nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(T formal-nonempty-type-decl nil finite_groups nil )
(finite_generated_by_def formula-decl nil finite_groups nil )
(finite_order? const-decl "bool" monoid_def nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(monoid? const-decl "bool" monoid_def nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(^ const-decl "T" group nil )
(posnat nonempty-type-eq-decl nil integers nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(> const-decl "bool" reals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number nonempty-type-decl nil numbers nil )
(monad? const-decl "bool" monad_def nil )
(infinite_order? const-decl "bool" monoid_def nil )
(member const-decl "bool" sets nil )
(empty? const-decl "bool" sets nil )
(expt_1 formula-decl nil group nil ))
shostak))
(period_TCC1 0
(period_TCC1-1 nil 3293196354
("" (expand "nonempty?" )
(("" (expand "empty?" )
(("" (expand "member" )
(("" (skosimp*)
((""
(lemma "finite_generated_by_def"
("a" "a!1" "G" "G!1" "S" "generated_by(a!1)" ))
(("1" (typepred "a!1" )
(("1" (expand "member" )
(("1" (typepred "generated_by(a!1)" )
(("1" (expand "group?" )
(("1" (expand "monoid?" )
(("1" (expand "monad?" )
(("1" (expand "groupoid?" )
(("1" (flatten)
(("1" (expand "member" )
(("1"
(replace -7 -2)
(("1"
(assert )
(("1"
(skosimp*)
(("1"
(inst - "n!1" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "nonempty?" )
(("2" (expand "empty?" )
(("2" (expand "member" )
(("2" (expand "generated_by" )
(("2" (hide -2)
(("2" (inst - "a!1" )
(("2" (inst + "1" )
(("2" (rewrite "expt_1" ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((empty? const-decl "bool" sets nil )
(expt_1 formula-decl nil group nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(monoid? const-decl "bool" monoid_def nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(monad? const-decl "bool" monad_def nil )
(finite_generated_by_def formula-decl nil finite_groups nil )
(T formal-nonempty-type-decl nil finite_groups nil )
(boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(set type-eq-decl nil sets nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(one formal-const-decl "T" finite_groups nil )
(finite_group? const-decl "bool" group_def nil )
(finite_group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(group nonempty-type-eq-decl nil group nil )
(generated_by const-decl "group" group nil )
(member const-decl "bool" sets nil )
(nonempty? const-decl "bool" sets nil ))
shostak))
(a_hat_period_TCC1 0
(a_hat_period_TCC1-1 nil 3293312025
("" (expand "member" ) (("" (skosimp) nil nil )) nil )
((member const-decl "bool" sets nil )) shostak))
(a_hat_period 0
(a_hat_period-1 nil 3293051767
("" (skosimp*)
(("" (name "N" "period(G!1, a!1)" )
(("1" (typepred "period(G!1, a!1)" )
(("1" (replace -2)
(("1" (expand "period" )
(("1" (expand "member" )
(("1"
(lemma "finite_generated_by_def"
("a" "a!1" "G" "G!1" "S" "generated_by(a!1)" ))
(("1" (split -1)
(("1" (assert ) nil nil ) ("2" (assert ) nil nil )
("3" (propax) nil nil ))
nil )
("2" (expand "nonempty?" )
(("2" (expand "empty?" )
(("2" (inst - "a!1" )
(("2" (expand "member" )
(("2" (expand "generated_by" )
(("2" (inst + "1" ) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2" (expand "member" ) (("2" (propax) nil nil )) nil )) nil ))
nil ))
nil )
((period const-decl "posnat" finite_groups nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(finite_group? const-decl "bool" group_def nil )
(set type-eq-decl nil sets nil )
(bool nonempty-type-eq-decl nil booleans nil )
(finite_group nonempty-type-eq-decl nil group nil )
(one formal-const-decl "T" finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(T formal-nonempty-type-decl nil finite_groups nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(member const-decl "bool" sets nil )
(empty? const-decl "bool" sets nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(generated_by const-decl "group" group nil )
(group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(nonempty? const-decl "bool" sets nil )
(finite_generated_by_def formula-decl nil finite_groups nil )
(NOT const-decl "[bool -> bool]" booleans nil ))
shostak))
(finite_subgroup_def 0
(finite_subgroup_def-1 nil 3293050784
("" (skolem!)
(("" (rewrite "subgroup_def" )
(("" (prop)
(("" (expand "inv_closed?" )
(("" (skolem!)
(("" (assert )
(("" (typepred "x!1" )
(("" (case "G!1(x!1)" )
(("1" (lemma "a_hat_period" ("a" "x!1" "G" "G!1" ))
(("1" (name "NN" "period(G!1,x!1)" )
(("1" (assert )
(("1" (typepred "period(G!1,x!1)" )
(("1" (replace -2)
(("1"
(lemma "expt_def2"
("a" "x!1" "i" "NN-1" ))
(("1"
(lemma
"expt_def1"
("a" "x!1" "i" "NN-1" ))
(("1"
(lemma
"unique_inv"
("x" "x!1" "y" "x!1^(NN-1)" ))
(("1"
(assert )
(("1"
(case-replace "NN=1" )
(("1"
(assert )
(("1"
(rewrite "expt_0" )
(("1"
(rewrite "expt_1" )
(("1"
(assert )
(("1"
(rewrite
"left_identity" )
(("1"
(rewrite
"right_identity" )
(("1"
(expand "member" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"FORALL (n:posnat): S!1(x!1^n)" )
(("1"
(inst - "NN-1" )
(("1"
(assert )
(("1"
(expand "member" )
(("1" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil )
("2"
(hide-all-but (-10 1 -8))
(("2"
(induct "n" )
(("1" (assert ) nil nil )
("2" (assert ) nil nil )
("3"
(skosimp*)
(("3"
(case-replace "j!1=0" )
(("1"
(assert )
(("1"
(rewrite "expt_1" )
nil
nil ))
nil )
("2"
(rewrite
"expt_def1"
2)
(("2"
(assert )
(("2"
(expand
"star_closed?" )
(("2"
(inst
-
"x!1^j!1"
"x!1" )
(("2"
(assert )
(("2"
(expand
"member" )
(("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil )
("2" (expand "subset?" )
(("2" (inst - "x!1" )
(("2" (assert )
(("2" (expand "member" )
(("2" (propax) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((subgroup_def formula-decl nil group nil )
(boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(set type-eq-decl nil sets nil )
(group? const-decl "bool" group_def nil )
(group nonempty-type-eq-decl nil group nil )
(finite_group? const-decl "bool" group_def nil )
(finite_group nonempty-type-eq-decl nil group nil )
(nonempty? const-decl "bool" sets nil )
(T formal-nonempty-type-decl nil finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(one formal-const-decl "T" finite_groups nil )
(subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(inv_closed? const-decl "bool" group nil )
(member const-decl "bool" sets nil )
(period const-decl "posnat" finite_groups nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(number nonempty-type-decl nil numbers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(expt_def2 formula-decl nil group nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(unique_inv formula-decl nil group nil )
(^ const-decl "T" group nil ) (expt_0 formula-decl nil group nil )
(left_identity formula-decl nil monad nil )
(right_identity formula-decl nil monad nil )
(expt_1 formula-decl nil group nil )
(odd_minus_odd_is_even application-judgement "even_int" integers
nil )
(star_closed? const-decl "bool" groupoid_def nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(even_plus_odd_is_odd application-judgement "odd_int" integers nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(nat_induction formula-decl nil naturalnumbers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(pred type-eq-decl nil defined_types nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(NN skolem-const-decl "posnat" finite_groups nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(expt_def1 formula-decl nil group nil )
(a_hat_period formula-decl nil finite_groups nil )
(subset? const-decl "bool" sets nil )
(NOT const-decl "[bool -> bool]" booleans nil ))
shostak))
(orders_equal 0
(orders_equal-1 nil 3407082430
("" (skosimp*)
(("" (lemma "same_card_subset[T]" )
(("" (expand "order" )
(("" (expand "subgroup?" )
(("" (flatten)
(("" (inst - "H!1" "G!1" ) (("" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((T formal-nonempty-type-decl nil finite_groups nil )
(same_card_subset formula-decl nil finite_sets nil )
(subgroup? const-decl "bool" group_def nil )
(boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(set type-eq-decl nil sets nil )
(is_finite const-decl "bool" finite_sets nil )
(finite_set type-eq-decl nil finite_sets nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(one formal-const-decl "T" finite_groups nil )
(finite_group? const-decl "bool" group_def nil )
(finite_group nonempty-type-eq-decl nil group nil )
(subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(order const-decl "posnat" monad nil ))
nil ))
(period_is_generated_order_TCC1 0
(period_is_generated_order_TCC1-1 nil 3293495877
("" (expand "member" )
(("" (skosimp*)
(("" (use "generated_is_subgroup" )
(("" (expand "member" )
(("" (assert )
(("" (typepred "G!1" )
(("" (lemma "finite_subgroups" )
(("" (inst?)
(("" (assert )
(("" (expand "finite_group?" )
(("" (expand "finite_monad?" )
(("" (assert )
(("" (typepred "generated_by(a!1)" )
(("" (expand "group?" )
((""
(expand "monoid?" )
(("" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((NOT const-decl "[bool -> bool]" booleans nil )
(generated_by const-decl "group" group nil )
(monoid? const-decl "bool" monoid_def nil )
(finite_monad? const-decl "bool" monad_def nil )
(finite_subgroups formula-decl nil group nil )
(boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(set type-eq-decl nil sets nil )
(group? const-decl "bool" group_def nil )
(group nonempty-type-eq-decl nil group nil )
(finite_group? const-decl "bool" group_def nil )
(finite_group nonempty-type-eq-decl nil group nil )
(one formal-const-decl "T" finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(T formal-nonempty-type-decl nil finite_groups nil )
(generated_is_subgroup formula-decl nil group nil )
(member const-decl "bool" sets nil ))
shostak))
(period_is_generated_order 0
(period_is_generated_order-3 nil 3406397797
("" (skosimp*)
(("" (name "M" "period(G!1, a!1)" )
(("" (replace -1)
(("" (lemma "generated_is_subgroup" ("a" "a!1" "G" "G!1" ))
(("" (assert )
(("" (lemma "Lagrange" ("H" "generated_by(a!1)" "G" "G!1" ))
(("1" (assert )
(("1" (typepred "period(G!1, a!1)" )
(("1" (replace -4)
(("1" (expand "period" )
(("1"
(typepred "min({n: posnat | a!1 ^ n = one})" )
(("1" (replace -7)
(("1"
(lemma "finite_generated_by_one"
("a" "a!1" "G" "G!1" "S"
"generated_by(a!1)" ))
(("1" (assert )
(("1"
(expand "order" )
(("1"
(name "N" "card(generated_by(a!1))" )
(("1"
(replace -1)
(("1"
(lemma
"nonempty_card"
("S" "generated_by(a!1)" ))
(("1"
(replace -2)
(("1"
(case
"generated_by(a!1)(a!1)" )
(("1"
(flatten -2)
(("1"
(hide -3)
(("1"
(split -2)
(("1"
(inst-cp - "N" )
(("1"
(assert )
(("1"
(case
"EXISTS (n:nat,m:below[M]): M*n+m = N" )
(("1"
(skolem!)
(("1"
(typepred
"m!1" )
(("1"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"M*n!1"
"j"
"m!1" ))
(("1"
(replace
-3)
(("1"
(replace
-7)
(("1"
(rewrite
"expt_expt"
-1
:dir
rl)
(("1"
(replace
-9)
(("1"
(rewrite
"one_expt" )
(("1"
(case
"m!1=0" )
(("1"
(case
"n!1=1" )
(("1"
(assert )
nil
nil )
("2"
(replace
-1)
(("2"
(name
"X"
"generated_by(a!1)" )
(("2"
(replace
-1)
(("2"
(lemma
"finite_generated_by_def"
("a"
"a!1"
"G"
"G!1"
"S"
"X" ))
(("1"
(assert )
(("1"
(lemma
"card_bij_inv"
("S"
"X"
"N"
"M" ))
(("1"
(flatten
-1)
(("1"
(hide
-1)
(("1"
(split
-1)
(("1"
(assert )
nil
nil )
("2"
(inst
+
"lambda (i:below[M]): a!1^(i+1)" )
(("1"
(expand
"bijective?" )
(("1"
(split
1)
(("1"
(expand
"injective?" )
(("1"
(skosimp*)
(("1"
(typepred
"x1!1" )
(("1"
(typepred
"x2!1" )
(("1"
(lemma
"trich_lt"
("x"
"x1!1"
"y"
"x2!1" ))
(("1"
(split
-1)
(("1"
(lemma
"cancel_right"
("z"
"a!1^(x2!1-x1!1)"
"x"
"a!1 ^ (1 + x1!1)"
"y"
"a!1 ^ (1 + x2!1)" ))
(("1"
(rewrite
"expt_mult"
-1)
(("1"
(assert )
(("1"
(expand
"subgroup?" )
(("1"
(typepred
"generated_by(a!1)" )
(("1"
(expand
"group?" )
(("1"
(flatten)
(("1"
(expand
"monoid?" )
(("1"
(flatten)
(("1"
(lemma
"cancel_left"
("z"
"a!1^(-(1+x2!1))"
"x"
"a!1 ^ (1 + x2!1)"
"y"
"a!1 ^ (1 + x2!1) * a!1 ^ (x2!1 - x1!1)" ))
(("1"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"-(1+x2!1)"
"j"
"1+x2!1" ))
(("1"
(simplify
-1)
(("1"
(rewrite
"expt_0"
-1)
(("1"
(replace
-1
-2)
(("1"
(rewrite
"associative"
-2
:dir
rl)
(("1"
(replace
-1
-2)
(("1"
(assert )
(("1"
(inst
-
"x2!1-x1!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(propax)
nil
nil )
("3"
(lemma
"cancel_right"
("z"
"a!1^(x1!1-x2!1)"
"x"
"a!1 ^ (1 + x1!1)"
"y"
"a!1 ^ (1 + x2!1)" ))
(("3"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"1+x2!1"
"j"
"x1!1-x2!1" ))
(("3"
(simplify
-1)
(("3"
(replace
-1
-2)
(("3"
(replace
-6
-2
rl)
(("3"
(flatten
-2)
(("3"
(lemma
"cancel_left"
("z"
"a!1^(-(1+x1!1))"
"x"
"a!1 ^ (1 + x1!1) * a!1 ^ (x1!1 - x2!1)"
"y"
"a!1 ^ (1 + x1!1)" ))
(("3"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"-(1+x1!1)"
"j"
"1+x1!1" ))
(("3"
(rewrite
"expt_0"
-1)
(("3"
(rewrite
"associative"
-2
:dir
rl)
(("3"
(replace
-1
-2)
(("3"
(replace
-8
*
rl)
(("3"
(replace
-2
-3
rl)
(("3"
(rewrite
"left_identity" )
(("3"
(inst
-
"x1!1-x2!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"surjective?" )
(("2"
(skosimp*)
(("2"
(typepred
"y!1" )
(("2"
(replace
-2
-1)
(("2"
(simplify
-1)
(("2"
(skosimp*)
(("2"
(case
"EXISTS (n: nat, m: below[M]): M * n + m = n!2" )
(("1"
(skolem!)
(("1"
(replace
-1
*
rl)
(("1"
(case-replace
"m!2=0" )
(("1"
(assert )
(("1"
(rewrite
"expt_expt"
-4
:dir
rl)
(("1"
(replace
-15)
(("1"
(replace
-4)
(("1"
(assert )
(("1"
(inst
+
"M-1" )
(("1"
(assert )
(("1"
(replace
-16)
(("1"
(rewrite
"one_expt" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"expt_mult"
-3
:dir
rl)
(("2"
(rewrite
"expt_expt"
-3
:dir
rl)
(("2"
(replace
-14)
(("2"
(assert )
(("2"
(replace
-3
2)
(("2"
(inst
+
"m!2-1" )
(("2"
(assert )
(("2"
(replace
-15)
(("2"
(rewrite
"one_expt" )
(("2"
(rewrite
"left_identity" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-7
1))
(("2"
(lemma
"euclid_nat"
("a"
"n!2"
"b"
"M" ))
(("2"
(skolem!)
(("2"
(inst
+
"q!1"
"r!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-1
1)
(("2"
(skosimp*)
(("2"
(typepred
"i!1" )
(("2"
(replace
-10)
(("2"
(inst
+
"1+i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"nonempty?" )
(("2"
(expand
"empty?" )
(("2"
(inst
-1
"a!1" )
(("2"
(replace
-1
1
rl)
(("2"
(expand
"generated_by" )
(("2"
(assert )
(("2"
(inst
+
"1" )
(("2"
(rewrite
"expt_1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
-
"m!1" )
(("1"
(assert )
nil
nil )
("2"
(rewrite
"left_identity" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1 -5 1))
(("2"
(lemma
"euclid_nat"
("a"
"N"
"b"
"M" ))
(("2"
(skolem!)
(("2"
(inst
+
"q!1"
"r!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "nonempty?" )
(("2"
(expand "empty?" )
(("2"
(inst - "a!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "generated_by" )
(("2"
(inst + "1" )
(("2"
(assert )
(("2"
(rewrite "expt_1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "nonempty?" )
(("2"
(expand "empty?" )
(("2"
(inst - "a!1" )
(("2"
(expand "generated_by" )
(("2"
(assert )
(("2"
(inst + "1" )
(("2"
(rewrite "expt_1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "nonempty?" )
(("2" (expand "empty?" )
(("2" (expand "member" )
(("2"
(inst - "M" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "subgroup?" )
(("2" (typepred "G!1" )
(("2"
(lemma "finite_subset"
("s" "generated_by(a!1)" "A" "G!1" ))
(("1" (assert )
(("1" (typepred "generated_by[T, *, one](a!1)" )
(("1" (expand "finite_group?" )
(("1" (propax) nil nil )) nil ))
nil ))
nil )
("2" (expand "finite_group?" )
(("2" (flatten) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((period const-decl "posnat" finite_groups nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(finite_group? const-decl "bool" group_def nil )
(set type-eq-decl nil sets nil )
(bool nonempty-type-eq-decl nil booleans nil )
(finite_group nonempty-type-eq-decl nil group nil )
(one formal-const-decl "T" finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(T formal-nonempty-type-decl nil finite_groups nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(generated_is_subgroup formula-decl nil group nil )
(group? const-decl "bool" group_def nil )
(group nonempty-type-eq-decl nil group nil )
(Lagrange formula-decl nil lagrange nil )
(generated_by const-decl "group" group nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(is_finite const-decl "bool" finite_sets nil )
(finite_set type-eq-decl nil finite_sets nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Card const-decl "nat" finite_sets nil )
(card const-decl "{n: nat | n = Card(S)}" finite_sets nil )
(nonempty_card formula-decl nil finite_sets nil )
(a!1 skolem-const-decl "T" finite_groups nil )
(N skolem-const-decl "{n: nat | n = Card[T](generated_by(a!1))}"
finite_groups nil )
(nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(< const-decl "bool" reals nil )
(below type-eq-decl nil nat_types nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(expt_expt formula-decl nil group nil )
(one_expt formula-decl nil group nil )
(m!1 skolem-const-decl "below[M]" finite_groups nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(left_identity formula-decl nil monad nil )
(finite_generated_by_def formula-decl nil finite_groups nil )
(card_bij_inv formula-decl nil finite_sets nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(M skolem-const-decl "posnat" finite_groups nil )
(X skolem-const-decl "group[T, *, one]" finite_groups nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(subgroup? const-decl "bool" group_def nil )
(monoid? const-decl "bool" monoid_def nil )
(minus_nzint_is_nzint application-judgement "nzint" integers nil )
(cancel_left formula-decl nil group nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(associative formula-decl nil semigroup nil )
(expt_0 formula-decl nil group nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(cancel_right formula-decl nil group nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(x2!1 skolem-const-decl "below[M]" finite_groups nil )
(x1!1 skolem-const-decl "below[M]" finite_groups nil )
(trich_lt formula-decl nil real_props nil )
(injective? const-decl "bool" functions nil )
(mod nonempty-type-eq-decl nil euclidean_division nil )
(euclid_nat formula-decl nil euclidean_division nil )
(surjective? const-decl "bool" functions nil )
(bijective? const-decl "bool" functions nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(empty? const-decl "bool" sets nil )
(expt_1 formula-decl nil group nil )
(expt_mult formula-decl nil group nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(order const-decl "posnat" monad nil )
(finite_generated_by_one formula-decl nil finite_groups nil )
(^ const-decl "T" group nil )
(min const-decl
"{a: posnat | S(a) AND (FORALL x: S(x) IMPLIES a <= x)}"
min_posnat "ints/" )
(<= const-decl "bool" reals nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nonempty? const-decl "bool" sets nil )
(finite_subset formula-decl nil finite_sets nil )
(member const-decl "bool" sets nil ))
nil )
(period_is_generated_order-2 nil 3308047519
("" (skosimp*)
(("" (name "M" "period(G!1, a!1)" )
(("" (replace -1)
(("" (lemma "generated_is_subgroup" ("a" "a!1" "G" "G!1" ))
(("" (assert )
(("" (lemma "lagrange" ("H" "generated_by(a!1)" "G" "G!1" ))
(("1" (assert )
(("1" (typepred "period(G!1, a!1)" )
(("1" (replace -4)
(("1" (expand "period" )
(("1"
(typepred "min({n: posnat | a!1 ^ n = one})" )
(("1" (replace -7)
(("1"
(lemma "finite_generated_by_one"
("a" "a!1" "G" "G!1" "S"
"generated_by(a!1)" ))
(("1" (assert )
(("1"
(expand "order" )
(("1"
(name "N" "card(generated_by(a!1))" )
(("1"
(replace -1)
(("1"
(lemma
"nonempty_card"
("S" "generated_by(a!1)" ))
(("1"
(replace -2)
(("1"
(case
"generated_by(a!1)(a!1)" )
(("1"
(flatten -2)
(("1"
(hide -3)
(("1"
(split -2)
(("1"
(inst-cp - "N" )
(("1"
(assert )
(("1"
(case
"EXISTS (n:nat,m:below[M]): M*n+m = N" )
(("1"
(skolem!)
(("1"
(typepred
"m!1" )
(("1"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"M*n!1"
"j"
"m!1" ))
(("1"
(replace
-3)
(("1"
(replace
-7)
(("1"
(rewrite
"expt_expt"
-1
:dir
rl)
(("1"
(replace
-9)
(("1"
(rewrite
"one_expt" )
(("1"
(case
"m!1=0" )
(("1"
(case
"n!1=1" )
(("1"
(assert )
nil
nil )
("2"
(replace
-1)
(("2"
(name
"X"
"generated_by(a!1)" )
(("2"
(replace
-1)
(("2"
(lemma
"finite_generated_by_def"
("a"
"a!1"
"G"
"G!1"
"S"
"X" ))
(("1"
(assert )
(("1"
(lemma
"card_bij_inv"
("S"
"X"
"N"
"M" ))
(("1"
(flatten
-1)
(("1"
(hide
-1)
(("1"
(split
-1)
(("1"
(assert )
nil
nil )
("2"
(inst
+
"lambda (i:below[M]): a!1^(i+1)" )
(("1"
(expand
"bijective?" )
(("1"
(split
1)
(("1"
(expand
"injective?" )
(("1"
(skosimp*)
(("1"
(typepred
"x1!1" )
(("1"
(typepred
"x2!1" )
(("1"
(lemma
"trich_lt"
("x"
"x1!1"
"y"
"x2!1" ))
(("1"
(split
-1)
(("1"
(lemma
"cancel_right"
("z"
"a!1^(x2!1-x1!1)"
"x"
"a!1 ^ (1 + x1!1)"
"y"
"a!1 ^ (1 + x2!1)" ))
(("1"
(rewrite
"expt_mult"
-1)
(("1"
(assert )
(("1"
(expand
"subgroup?" )
(("1"
(typepred
"generated_by(a!1)" )
(("1"
(expand
"group?" )
(("1"
(flatten)
(("1"
(expand
"monoid?" )
(("1"
(flatten)
(("1"
(lemma
"cancel_left"
("z"
"a!1^(-(1+x2!1))"
"x"
"a!1 ^ (1 + x2!1)"
"y"
"a!1 ^ (1 + x2!1) * a!1 ^ (x2!1 - x1!1)" ))
(("1"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"-(1+x2!1)"
"j"
"1+x2!1" ))
(("1"
(simplify
-1)
(("1"
(rewrite
"expt_0"
-1)
(("1"
(replace
-1
-2)
(("1"
(rewrite
"associative"
-2
:dir
rl)
(("1"
(replace
-1
-2)
(("1"
(assert )
(("1"
(inst
-23
"x2!1-x1!1" )
(("1"
(assert )
(("1"
(rewrite
"left_identity" )
(("1"
(replace
-2
*
rl)
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(propax)
nil
nil )
("3"
(lemma
"cancel_right"
("z"
"a!1^(x1!1-x2!1)"
"x"
"a!1 ^ (1 + x1!1)"
"y"
"a!1 ^ (1 + x2!1)" ))
(("3"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"1+x2!1"
"j"
"x1!1-x2!1" ))
(("3"
(simplify
-1)
(("3"
(replace
-1
-2)
(("3"
(replace
-6
-2
rl)
(("3"
(flatten
-2)
(("3"
(lemma
"cancel_left"
("z"
"a!1^(-(1+x1!1))"
"x"
"a!1 ^ (1 + x1!1) * a!1 ^ (x1!1 - x2!1)"
"y"
"a!1 ^ (1 + x1!1)" ))
(("3"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"-(1+x1!1)"
"j"
"1+x1!1" ))
(("3"
(rewrite
"expt_0"
-1)
(("3"
(rewrite
"associative"
-2
:dir
rl)
(("3"
(replace
-1
-2)
(("3"
(replace
-8
*
rl)
(("3"
(replace
-2
-3
rl)
(("3"
(rewrite
"left_identity" )
(("3"
(inst
-21
"x1!1-x2!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"surjective?" )
(("2"
(skosimp*)
(("2"
(typepred
"y!1" )
(("2"
(replace
-2
-1)
(("2"
(simplify
-1)
(("2"
(skosimp*)
(("2"
(case
"EXISTS (n: nat, m: below[M]): M * n + m = n!2" )
(("1"
(skolem!)
(("1"
(replace
-1
*
rl)
(("1"
(case-replace
"m!2=0" )
(("1"
(assert )
(("1"
(rewrite
"expt_expt"
-4
:dir
rl)
(("1"
(replace
-15)
(("1"
(replace
-4)
(("1"
(assert )
(("1"
(inst
+
"M-1" )
(("1"
(assert )
(("1"
(replace
-16)
(("1"
(rewrite
"one_expt" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"expt_mult"
-3
:dir
rl)
(("2"
(rewrite
"expt_expt"
-3
:dir
rl)
(("2"
(replace
-14)
(("2"
(assert )
(("2"
(replace
-3
2)
(("2"
(inst
+
"m!2-1" )
(("2"
(assert )
(("2"
(replace
-15)
(("2"
(rewrite
"one_expt" )
(("2"
(rewrite
"left_identity" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-7
1))
(("2"
(lemma
"euclid_nat"
("a"
"n!2"
"b"
"M" ))
(("2"
(skolem!)
(("2"
(inst
+
"q!1"
"r!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-1
1)
(("2"
(skosimp*)
(("2"
(typepred
"i!1" )
(("2"
(replace
-10)
(("2"
(inst
+
"1+i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"nonempty?" )
(("2"
(expand
"empty?" )
(("2"
(inst
-1
"a!1" )
(("2"
(replace
-1
1
rl)
(("2"
(expand
"generated_by" )
(("2"
(assert )
(("2"
(expand
"member" )
(("2"
(inst
+
"1" )
(("2"
(rewrite
"expt_1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
-
"m!1" )
(("1"
(assert )
(("1"
(rewrite
"left_identity" )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1 -5 1))
(("2"
(lemma
"euclid_nat"
("a"
"N"
"b"
"M" ))
(("2"
(skolem!)
(("2"
(inst
+
"q!1"
"r!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "nonempty?" )
(("2"
(expand "empty?" )
(("2"
(inst - "a!1" )
(("2"
(assert )
(("2"
(expand
"member" )
(("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "generated_by" )
(("2"
(inst + "1" )
(("2"
(assert )
(("2"
(rewrite "expt_1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "nonempty?" )
(("2"
(expand "empty?" )
(("2"
(inst - "a!1" )
(("2"
(expand "generated_by" )
(("2"
(assert )
(("2"
(expand "member" )
(("2"
(inst + "1" )
(("2"
(rewrite "expt_1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "nonempty?" )
(("2" (expand "empty?" )
(("2" (expand "member" )
(("2"
(inst - "M" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "subgroup?" )
(("2" (typepred "G!1" )
(("2"
(lemma "finite_subset"
("s" "generated_by(a!1)" "A" "G!1" ))
(("1" (assert )
(("1" (typepred "generated_by[T, *, one](a!1)" )
(("1" (expand "finite_group?" )
(("1" (propax) nil nil )) nil ))
nil ))
nil )
("2" (expand "finite_group?" )
(("2" (flatten) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((finite_group? const-decl "bool" group_def nil )
(generated_is_subgroup formula-decl nil group nil )
(group? const-decl "bool" group_def nil )
(group nonempty-type-eq-decl nil group nil )
(generated_by const-decl "group" group nil )
(expt_expt formula-decl nil group nil )
(one_expt formula-decl nil group nil )
(subgroup? const-decl "bool" group_def nil )
(monoid? const-decl "bool" monoid_def nil )
(cancel_left formula-decl nil group nil )
(left_identity formula-decl nil monad nil )
(associative formula-decl nil semigroup nil )
(expt_0 formula-decl nil group nil )
(cancel_right formula-decl nil group nil )
(expt_1 formula-decl nil group nil )
(expt_mult formula-decl nil group nil )
(^ const-decl "T" group nil ))
nil )
(period_is_generated_order-1 nil 3293308323
("" (skosimp*)
(("" (name "M" "period(G!1, a!1)" )
(("" (replace -1)
(("" (lemma "generated_is_subgroup" ("a" "a!1" "G" "G!1" ))
(("" (assert )
(("" (lemma "lagrange" ("H" "generated_by(a!1)" "G" "G!1" ))
(("1" (assert )
(("1" (typepred "period(G!1, a!1)" )
(("1" (replace -4)
(("1" (expand "period" )
(("1"
(typepred "min({n: posnat | a!1 ^ n = one})" )
(("1" (replace -7)
(("1"
(lemma "finite_generated_by_one"
("a" "a!1" "G" "G!1" "S"
"generated_by(a!1)" ))
(("1" (assert )
(("1"
(expand "order" )
(("1"
(name "N" "card(generated_by(a!1))" )
(("1"
(replace -1)
(("1"
(lemma
"nonempty_card"
("S" "generated_by(a!1)" ))
(("1"
(replace -2)
(("1"
(case
"generated_by(a!1)(a!1)" )
(("1"
(flatten -2)
(("1"
(hide -3)
(("1"
(split -2)
(("1"
(inst-cp - "N" )
(("1"
(assert )
(("1"
(case
"EXISTS (n:nat,m:below[M]): M*n+m = N" )
(("1"
(skolem!)
(("1"
(typepred
"m!1" )
(("1"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"M*n!1"
"j"
"m!1" ))
(("1"
(replace
-3)
(("1"
(replace
-7)
(("1"
(rewrite
"expt_expt"
-1
:dir
rl)
(("1"
(replace
-9)
(("1"
(rewrite
"one_expt" )
(("1"
(case
"m!1=0" )
(("1"
(case
"n!1=1" )
(("1"
(assert )
nil
nil )
("2"
(replace
-1)
(("2"
(name
"X"
"generated_by(a!1)" )
(("2"
(replace
-1)
(("2"
(lemma
"finite_generated_by_def"
("a"
"a!1"
"G"
"G!1"
"S"
"X" ))
(("1"
(assert )
(("1"
(lemma
"card_bij_from"
("S"
"X"
"N"
"M" ))
(("1"
(flatten
-1)
(("1"
(hide
-1)
(("1"
(split
-1)
(("1"
(assert )
nil
nil )
("2"
(inst
+
"lambda (i:below[M]): a!1^(i+1)" )
(("1"
(expand
"bijective?" )
(("1"
(split
1)
(("1"
(expand
"injective?" )
(("1"
(skosimp*)
(("1"
(typepred
"x1!1" )
(("1"
(typepred
"x2!1" )
(("1"
(lemma
"trich_lt"
("x"
"x1!1"
"y"
"x2!1" ))
(("1"
(split
-1)
(("1"
(lemma
"cancel_right"
("z"
"a!1^(x2!1-x1!1)"
"x"
"a!1 ^ (1 + x1!1)"
"y"
"a!1 ^ (1 + x2!1)" ))
(("1"
(rewrite
"expt_mult"
-1)
(("1"
(assert )
(("1"
(expand
"subgroup?" )
(("1"
(typepred
"generated_by(a!1)" )
(("1"
(expand
"group?" )
(("1"
(flatten)
(("1"
(expand
"monoid?" )
(("1"
(flatten)
(("1"
(lemma
"cancel_left"
("z"
"a!1^(-(1+x2!1))"
"x"
"a!1 ^ (1 + x2!1)"
"y"
"a!1 ^ (1 + x2!1) * a!1 ^ (x2!1 - x1!1)" ))
(("1"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"-(1+x2!1)"
"j"
"1+x2!1" ))
(("1"
(simplify
-1)
(("1"
(rewrite
"expt_0"
-1)
(("1"
(replace
-1
-2)
(("1"
(rewrite
"associative"
-2
:dir
rl)
(("1"
(replace
-1
-2)
(("1"
(assert )
(("1"
(inst
-23
"x2!1-x1!1" )
(("1"
(assert )
(("1"
(rewrite
"left_identity" )
(("1"
(replace
-2
*
rl)
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(propax)
nil
nil )
("3"
(lemma
"cancel_right"
("z"
"a!1^(x1!1-x2!1)"
"x"
"a!1 ^ (1 + x1!1)"
"y"
"a!1 ^ (1 + x2!1)" ))
(("3"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"1+x2!1"
"j"
"x1!1-x2!1" ))
(("3"
(simplify
-1)
(("3"
(replace
-1
-2)
(("3"
(replace
-6
-2
rl)
(("3"
(flatten
-2)
(("3"
(lemma
"cancel_left"
("z"
"a!1^(-(1+x1!1))"
"x"
"a!1 ^ (1 + x1!1) * a!1 ^ (x1!1 - x2!1)"
"y"
"a!1 ^ (1 + x1!1)" ))
(("3"
(lemma
"expt_mult"
("a"
"a!1"
"i"
"-(1+x1!1)"
"j"
"1+x1!1" ))
(("3"
(rewrite
"expt_0"
-1)
(("3"
(rewrite
"associative"
-2
:dir
rl)
(("3"
(replace
-1
-2)
(("3"
(replace
-8
*
rl)
(("3"
(replace
-2
-3
rl)
(("3"
(rewrite
"left_identity" )
(("3"
(inst
-21
"x1!1-x2!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"surjective?" )
(("2"
(skosimp*)
(("2"
(typepred
"y!1" )
(("2"
(replace
-2
-1)
(("2"
(simplify
-1)
(("2"
(skosimp*)
(("2"
(case
"EXISTS (n: nat, m: below[M]): M * n + m = n!2" )
(("1"
(skolem!)
(("1"
(replace
-1
*
rl)
(("1"
(case-replace
"m!2=0" )
(("1"
(assert )
(("1"
(rewrite
"expt_expt"
-4
:dir
rl)
(("1"
(replace
-15)
(("1"
(replace
-4)
(("1"
(assert )
(("1"
(inst
+
"M-1" )
(("1"
(assert )
(("1"
(replace
-16)
(("1"
(rewrite
"one_expt" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"expt_mult"
-3
:dir
rl)
(("2"
(rewrite
"expt_expt"
-3
:dir
rl)
(("2"
(replace
-14)
(("2"
(assert )
(("2"
(replace
-3
2)
(("2"
(inst
+
"m!2-1" )
(("2"
(assert )
(("2"
(replace
-15)
(("2"
(rewrite
"one_expt" )
(("2"
(rewrite
"left_identity" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-7
1))
(("2"
(lemma
"euclid_nat"
("a"
"n!2"
"b"
"M" ))
(("2"
(skolem!)
(("2"
(inst
+
"q!1"
"r!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-1
1)
(("2"
(skosimp*)
(("2"
(typepred
"i!1" )
(("2"
(replace
-10)
(("2"
(inst
+
"1+i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(typepred
"G!1" )
(("2"
(expand
"finite_group?" )
(("2"
(flatten)
(("2"
(lemma
"finite_subset"
("s"
"X"
"A"
"G!1" ))
(("1"
(assert )
(("1"
(expand
"subgroup?" )
(("1"
(propax)
nil
nil ))
nil ))
nil )
("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"nonempty?" )
(("2"
(expand
"empty?" )
(("2"
(inst
-1
"a!1" )
(("2"
(replace
-1
1
rl)
(("2"
(expand
"generated_by" )
(("2"
(assert )
(("2"
(expand
"member" )
(("2"
(inst
+
"1" )
(("2"
(rewrite
"expt_1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
-
"m!1" )
(("1"
(assert )
(("1"
(rewrite
"left_identity" )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1 -5 1))
(("2"
(lemma
"euclid_nat"
("a"
"N"
"b"
"M" ))
(("2"
(skolem!)
(("2"
(inst
+
"q!1"
"r!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "nonempty?" )
(("2"
(expand "empty?" )
(("2"
(inst - "a!1" )
(("2"
(assert )
(("2"
(expand
"member" )
(("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "generated_by" )
(("2"
(inst + "1" )
(("2"
(assert )
(("2"
(rewrite "expt_1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma "finite_generated_by" )
(("2"
(inst?)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "nonempty?" )
(("2"
(expand "empty?" )
(("2"
(inst - "a!1" )
(("2"
(expand "generated_by" )
(("2"
(assert )
(("2"
(expand "member" )
(("2"
(inst + "1" )
(("2"
(rewrite "expt_1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "nonempty?" )
(("2" (expand "empty?" )
(("2" (expand "member" )
(("2"
(inst - "M" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "subgroup?" )
(("2" (typepred "G!1" )
(("2"
(lemma "finite_subset"
("s" "generated_by(a!1)" "A" "G!1" ))
(("1" (assert )
(("1" (typepred "generated_by[T, *, one](a!1)" )
(("1" (expand "finite_group?" )
(("1" (propax) nil nil )) nil ))
nil ))
nil )
("2" (expand "finite_group?" )
(("2" (flatten) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((finite_group? const-decl "bool" group_def nil )
(generated_is_subgroup formula-decl nil group nil )
(group? const-decl "bool" group_def nil )
(group nonempty-type-eq-decl nil group nil )
(generated_by const-decl "group" group nil )
(expt_expt formula-decl nil group nil )
(one_expt formula-decl nil group nil )
(subgroup? const-decl "bool" group_def nil )
(monoid? const-decl "bool" monoid_def nil )
(cancel_left formula-decl nil group nil )
(left_identity formula-decl nil monad nil )
(associative formula-decl nil semigroup nil )
(expt_0 formula-decl nil group nil )
(cancel_right formula-decl nil group nil )
(expt_1 formula-decl nil group nil )
(expt_mult formula-decl nil group nil )
(^ const-decl "T" group nil ))
shostak))
(period_element_divides_group 0
(period_element_divides_group-2 nil 3406397815
("" (skosimp*)
(("" (lemma "period_is_generated_order" ("a" "a!1" "G" "G!1" ))
(("" (assert )
(("" (lemma "generated_is_subgroup" ("a" "a!1" "G" "G!1" ))
(("" (assert )
(("" (lemma "Lagrange" ("H" "generated_by(a!1)" "G" "G!1" ))
(("1" (assert ) nil nil )
("2" (typepred "generated_by[T, *, one](a!1)" )
(("2" (typepred "G!1" )
(("2" (expand "finite_group?" )
(("2" (flatten)
(("2" (expand "subgroup?" )
(("2"
(lemma "finite_subset"
("s" "generated_by[T, *, one](a!1)" "A"
"G!1" ))
(("1" (assert ) nil nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((finite_group nonempty-type-eq-decl nil group nil )
(finite_group? const-decl "bool" group_def nil )
(one formal-const-decl "T" finite_groups nil )
(* formal-const-decl "[T, T -> T]" finite_groups nil )
(set type-eq-decl nil sets nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(T formal-nonempty-type-decl nil finite_groups nil )
(period_is_generated_order formula-decl nil finite_groups nil )
(group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(generated_is_subgroup formula-decl nil group nil )
(Lagrange formula-decl nil lagrange nil )
(generated_by const-decl "group" group nil )
(finite_subset formula-decl nil finite_sets nil )
(is_finite const-decl "bool" finite_sets nil )
(finite_set type-eq-decl nil finite_sets nil )
(subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(subgroup? const-decl "bool" group_def nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(member const-decl "bool" sets nil ))
nil )
(period_element_divides_group-1 nil 3293052104
("" (skosimp*)
(("" (lemma "period_is_generated_order" ("a" "a!1" "G" "G!1" ))
(("" (assert )
(("" (lemma "generated_is_subgroup" ("a" "a!1" "G" "G!1" ))
(("" (assert )
(("" (lemma "lagrange" ("H" "generated_by(a!1)" "G" "G!1" ))
(("1" (assert ) nil nil )
("2" (typepred "generated_by[T, *, one](a!1)" )
(("2" (typepred "G!1" )
(("2" (expand "finite_group?" )
(("2" (flatten)
(("2" (expand "subgroup?" )
(("2"
(lemma "finite_subset"
("s" "generated_by[T, *, one](a!1)" "A"
"G!1" ))
(("1" (assert ) nil nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((finite_group? const-decl "bool" group_def nil )
(group nonempty-type-eq-decl nil group nil )
(group? const-decl "bool" group_def nil )
(generated_is_subgroup formula-decl nil group nil )
(generated_by const-decl "group" group nil )
(subgroup? const-decl "bool" group_def nil ))
shostak)))
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.746Bemerkung:
(vorverarbeitet am 2026-04-26)
¤
*Bot Zugriff
2026-05-26