Quelle trees.prf
Sprache: Lisp
(trees
(tree?_TCC1 0
(tree?_TCC1-1 nil 3262616780
("" (skosimp*)
(("" (expand "size" )
(("" (expand "del_vert" )
(("" (rewrite "card_remove" ) (("" (assert ) nil ))))))))
nil )
((size const-decl "nat" graphs nil )
(card_remove formula-decl nil finite_sets 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 )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(/= const-decl "boolean" notequal nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(dbl const-decl "set[T]" doubletons nil )
(doubleton type-eq-decl nil doubletons nil )
(pregraph type-eq-decl nil graphs nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(graph type-eq-decl nil graphs nil )
(T formal-type-decl nil trees nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(del_vert const-decl "graph[T]" graph_ops nil ))
nil ))
(tree_nonempty 0
(tree_nonempty-1 nil 3262616780
("" (skosimp*)
(("" (expand "empty?" )
(("" (use "card_empty?[T]" )
(("" (assert )
(("" (iff)
(("" (assert )
(("" (expand "tree?" )
(("" (skosimp*)
(("" (use "deg_to_card" )
(("" (assert )
(("" (expand "size" )
(("" (assert ) nil ))))))))))))))))))))))
nil )
((empty? const-decl "bool" graphs nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(size const-decl "nat" graphs nil )
(deg_to_card formula-decl nil graph_deg nil )
(tree? def-decl "bool" trees 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 )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(/= const-decl "boolean" notequal nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(dbl const-decl "set[T]" doubletons nil )
(doubleton type-eq-decl nil doubletons nil )
(pregraph type-eq-decl nil graphs nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(graph type-eq-decl nil graphs nil )
(T formal-type-decl nil trees nil )
(card_empty? formula-decl nil finite_sets nil ))
nil ))
(tree_edge_card 0
(tree_edge_card-1 nil 3262616780
("" (induct "G" 1 "graph_induction_vert" )
(("" (skosimp*)
(("" (expand "tree?" -2)
(("" (bddsimp)
(("1" (lemma "singleton_edges" )
(("1" (inst -1 "G!1" )
(("1" (expand "singleton?" -1)
(("1" (expand "size" -1)
(("1" (assert )
(("1"
(lemma "finite_sets[doubleton[T]].empty_card" )
(("1" (inst -1 "edges(G!1)" )
(("1" (bddsimp)
(("1" (assert )
(("1" (expand "size" 1)
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (skosimp*)
(("2" (lemma "size_del_vert" )
(("2" (inst -1 "G!1" "v!1" )
(("2" (inst -2 "del_vert(G!1,v!1)" )
(("2" (assert )
(("2" (replace -1 -2)
(("2" (expand "deg" -3)
(("2" (expand "incident_edges" -3)
(("2"
(lemma
"finite_sets[doubleton[T]].card_one" )
(("2"
(inst -1
"{e: doubleton[T] | edges(G!1)(e) AND e(v!1)}" )
(("1"
(flatten)
(("1"
(prop)
(("1"
(skosimp*)
(("1"
(expand "del_vert" -4)
(("1"
(lemma
"finite_sets[doubleton[T]].card_disj_union" )
(("1"
(inst
-1
"{e: doubleton[T] | edges(G!1)(e) AND e(v!1)}"
"{e: doubleton[T] | edges(G!1)(e) AND NOT e(v!1)}" )
(("1"
(prop)
(("1"
(lemma
"finite_sets[doubleton[T]].card_singleton" )
(("1"
(inst -1 "x!1" )
(("1"
(replace -4 -1 rl)
(("1"
(replace -1 -2)
(("1"
(assert -6)
(("1"
(replace
-6
-2
rl)
(("1"
(expand
"union"
-2)
(("1"
(expand
"member"
-2)
(("1"
(assert
-2)
(("1"
(hide-all-but
-2
-)
(("1"
(case
"{x: doubleton[T] |
edges(G!1)(x) AND x(v!1) OR edges(G!1)(x) AND NOT x(v!1)}=edges(G!1)")
(("1"
(replace
-1
-2)
(("1"
(assert )
nil
nil ))
nil )
("2"
(hide
-1
2)
(("2"
(grind)
(("2"
(apply-extensionality
1)
(("2"
(hide
2)
(("2"
(iff
1)
(("2"
(prop)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -1 -2 -3 -4 -5 2)
(("2"
(expand "disjoint?" )
(("2"
(install-rewrites
"finite_sets[doubleton[T]]" )
(("2"
(hide -1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"finite_subset[doubleton[T]]" )
(("2"
(inst
-
"edges(G!1)"
"{e: doubleton[T] | edges(G!1)(e) AND NOT e(v!1)}" )
(("2"
(assert )
(("2"
(hide 2)
(("2"
(expand "subset?" )
(("2"
(skosimp*)
(("2"
(expand
"member" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but 1)
(("3"
(lemma
"finite_subset[doubleton[T]]" )
(("3"
(inst
-
"edges(G!1)"
"{e: doubleton[T] | edges(G!1)(e) AND e(v!1)}" )
(("3"
(assert )
(("3"
(hide 2)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(lemma "finite_subset[doubleton[T]]" )
(("2"
(inst
-
"edges(G!1)"
"{e: doubleton[T] | edges(G!1)(e) AND e(v!1)}" )
(("2"
(assert )
(("2"
(hide 2)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((empty_card formula-decl nil finite_sets nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(singleton? const-decl "bool" graphs nil )
(singleton_edges formula-decl nil graphs nil )
(size_del_vert formula-decl nil graph_ops nil )
(del_vert const-decl "graph[T]" graph_ops nil )
(incident_edges const-decl "finite_set[doubleton[T]]" graph_deg
nil )
(G!1 skolem-const-decl "graph[T]" trees nil )
(v!1 skolem-const-decl "(vert(G!1))" trees nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(intersection const-decl "set" sets nil )
(empty? const-decl "bool" sets nil )
(disjoint? const-decl "bool" sets nil )
(card_singleton formula-decl nil finite_sets nil )
(union const-decl "set" sets nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(member const-decl "bool" sets nil )
(subset? const-decl "bool" sets nil )
(nonempty_singleton_finite application-judgement
"non_empty_finite_set" finite_sets nil )
(subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(finite_subset formula-decl nil finite_sets nil )
(card_disj_union formula-decl nil finite_sets nil )
(card_one formula-decl nil finite_sets nil )
(deg const-decl "nat" graph_deg nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(graph_induction_vert formula-decl nil graph_inductions nil )
(T formal-type-decl nil trees nil )
(card const-decl "{n: nat | n = Card(S)}" finite_sets nil )
(Card const-decl "nat" finite_sets nil )
(is_finite const-decl "bool" finite_sets nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(size const-decl "nat" graphs 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 )
(number nonempty-type-decl nil numbers nil )
(tree? def-decl "bool" trees nil )
(pred type-eq-decl nil defined_types nil )
(graph type-eq-decl nil graphs nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(pregraph type-eq-decl nil graphs nil )
(finite_set type-eq-decl nil finite_sets nil )
(doubleton type-eq-decl nil doubletons nil )
(dbl const-decl "set[T]" doubletons nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(/= const-decl "boolean" notequal nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(set type-eq-decl nil sets nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil ))
nil ))
(tree_edge_k 0
(tree_edge_k-1 nil 3262616780
("" (skosimp*)
(("" (inst? -1)
(("" (inst -1 "size(G!1)-2" )
(("1" (lemma "tree_nonempty" )
(("1" (inst? -1)
(("1" (bddsimp) (("1" (assert 2) nil nil )) nil )) nil ))
nil )
("2" (expand "size" 1)
(("2" (assert 1)
(("2" (case "card[T](vert(G!1)) > 0" )
(("1" (hide -2 -3 2) (("1" (grind) nil nil )) nil )
("2" (lemma "tree_nonempty" )
(("2" (inst? -1)
(("2" (bddsimp)
(("2" (expand "empty?" 1)
(("2" (lemma "finite_sets[T].empty_card" )
(("2" (inst -1 "vert(G!1)" )
(("2" (bddsimp)
(("2" (hide -1 -2 1 4 5 6)
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((T formal-type-decl nil trees nil )
(boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(set type-eq-decl nil sets nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(/= const-decl "boolean" notequal nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(dbl const-decl "set[T]" doubletons nil )
(doubleton type-eq-decl nil doubletons nil )
(finite_set type-eq-decl nil finite_sets nil )
(pregraph type-eq-decl nil graphs nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(graph type-eq-decl nil graphs nil ) (> const-decl "bool" reals nil )
(is_finite const-decl "bool" finite_sets nil )
(Card const-decl "nat" finite_sets nil )
(card const-decl "{n: nat | n = Card(S)}" finite_sets nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(empty? const-decl "bool" graphs nil )
(empty_card formula-decl nil finite_sets nil )
(tree_nonempty formula-decl nil trees nil )
(int_plus_int_is_int application-judgement "int" integers 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 )
(>= const-decl "bool" reals nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields 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 )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(size const-decl "nat" graphs nil )
(G!1 skolem-const-decl "graph[T]" trees nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
nil ))
(tree_edge 0
(tree_edge-1 nil 3262616780
("" (induct "k" 1 "nat_induction" )
(("1" (skosimp*)
(("1" (copy -2)
(("1" (expand "size" -1)
(("1" (expand "tree?" -2)
(("1" (case "card[T](vert(G!1)) = 1" )
(("1" (propax) nil nil )
("2" (split)
(("1" (propax) nil nil )
("2" (hide -3 1 3)
(("2" (skosimp*)
(("2" (case "v!2=v!1" )
(("1" (replace -1 -2) (("1" (assert ) nil nil ))
nil )
("2" (lemma "size_del_vert" )
(("2" (inst -1 "G!1" "v!2" )
(("2" (reveal -2)
(("2" (replace -1 -2)
(("2"
(assert -2)
(("2"
(expand "size" -2)
(("2"
(lemma "finite_sets[T].card_one" )
(("2"
(inst
-1
"vert(del_vert(G!1, v!2))" )
(("2"
(bddsimp)
(("2"
(hide -1 -3 -5)
(("2"
(skosimp*)
(("2"
(name
"HH"
"del_vert(G!1, v!2)" )
(("2"
(replace -1 -2)
(("2"
(typepred "HH" )
(("2"
(expand
"del_vert"
-2)
(("2"
(case
"vert(HH)= remove[T](v!2, vert(G!1))" )
(("1"
(hide -3)
(("1"
(expand
"deg"
-4)
(("1"
(lemma
"finite_sets[doubleton[T]].card_one" )
(("1"
(inst
-1
"incident_edges(v!2, G!1)" )
(("1"
(bddsimp)
(("1"
(hide
-1)
(("1"
(skosimp*)
(("1"
(expand
"incident_edges"
-1)
(("1"
(replace
-2
-4)
(("1"
(hide
-2
-3
-5)
(("1"
(case
" ({e: doubleton[T] | edges(G!1)(e) AND e(v!2)})(x!2) = singleton(x!2)(x!2)" )
(("1"
(hide
-2)
(("1"
(beta
-1)
(("1"
(case
"singleton(x!2)(x!2)" )
(("1"
(iff
-2)
(("1"
(bddsimp)
(("1"
(lemma
"other_vert" )
(("1"
(inst
-1
"G!1"
"x!2"
"v!2" )
(("1"
(bddsimp)
(("1"
(skosimp*)
(("1"
(hide
-2
-5)
(("1"
(case
" ({y: T | v!2 /= y AND member(y, vert(G!1))})(x!1) = singleton(x!1)(x!1)" )
(("1"
(case
" ({y: T | v!2 /= y AND member(y, vert(G!1))})(u!1) = singleton(x!1)(u!1)" )
(("1"
(case
" ({y: T | v!2 /= y AND member(y, vert(G!1))})(v!1) = singleton(x!1)(v!1)" )
(("1"
(case
" ({y: T | v!2 /= y AND member(y, vert(G!1))})(v!2) = singleton(x!1)(v!2)" )
(("1"
(beta
-1
-2
-3
-4)
(("1"
(beta
-2)
(("1"
(beta
-3)
(("1"
(beta
-4)
(("1"
(hide
-8)
(("1"
(expand
"member"
-)
(("1"
(expand
"singleton"
*)
(("1"
(iff
*)
(("1"
(bddsimp)
(("1"
(assert )
(("1"
(replace
-3
(-6
-7
-8
1)
rl)
(("1"
(hide
-3)
(("1"
(replace
-5
-9)
(("1"
(reveal
-3)
(("1"
(hide
-2
-3
-4
-5
-6
-7
2
3)
(("1"
(expand
"deg"
2)
(("1"
(lemma
"finite_sets[doubleton[T]].nonempty_card" )
(("1"
(inst
-1
"incident_edges(v!1, G!1)" )
(("1"
(bddsimp)
(("1"
(expand
"nonempty?"
1)
(("1"
(expand
"empty?"
-1)
(("1"
(inst
-1
"x!2" )
(("1"
(hide
2)
(("1"
(expand
"member"
1)
(("1"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil )
("3"
(grind)
nil
nil )
("4"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"singleton" )
(("2"
(expand
"remove" )
(("2"
(expand
"member" )
(("2"
(ground)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"member" )
(("2"
(expand
"singleton" )
(("2"
(expand
"remove" )
(("2"
(expand
"member" )
(("2"
(flatten)
(("2"
(ground)
(("2"
(decompose-equality
-6)
(("2"
(inst
-
"v!1" )
(("2"
(ground)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-5
-)
(("2"
(name
"hh"
"({y: T | v!2 /= y AND member(y, vert(G!1))})" )
(("2"
(replace
-1
1)
(("2"
(grind)
(("1"
(expand
"remove" )
(("1"
(expand
"member" )
(("1"
(expand
"singleton" )
(("1"
(ground)
(("1"
(replace
-1
*
rl)
(("1"
(hide
-1)
(("1"
(assert )
(("1"
(decompose-equality
-2)
(("1"
(inst
-
"u!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"remove" )
(("2"
(expand
"member" )
(("2"
(expand
"singleton" )
(("2"
(ground)
(("2"
(replace
-1
*
rl)
(("2"
(assert )
(("2"
(decompose-equality
-3)
(("2"
(inst
-
"x!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(name
"hh"
"({y: T | v!2 /= y AND member(y, vert(G!1))})" )
(("2"
(replace
-1
1)
(("2"
(grind)
(("2"
(expand
"singleton" )
(("2"
(expand
"remove" )
(("2"
(expand
"member" )
(("2"
(replace
-1
*
rl)
(("2"
(assert )
(("2"
(decompose-equality
-5)
(("2"
(inst
-
"u!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"singleton"
1)
(("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(name
"bb"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!2)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-2
-)
(("2"
(grind)
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" (skosimp*)
(("2" (expand "tree?" -2)
(("2" (bddsimp)
(("2" (copy -3)
(("2" (expand "size" -1)
(("2" (typepred "j!1" )
(("2" (skosimp*)
(("2" (case "v!1=v!2" )
(("1" (replace -1 -5 rl)
(("1" (hide-all-but -5 -)
(("1" (assert ) nil nil )) nil ))
nil )
("2" (inst -3 "del_vert[T](G!1, v!2)" "v!1" )
(("2" (bddsimp)
(("1" (expand "deg" -4)
(("1"
(lemma
"finite_sets[doubleton[T]].nonempty_card" )
(("1"
(inst-cp -1
"incident_edges(v!1, del_vert[T](G!1, v!2))" )
(("1"
(bddsimp)
(("1"
(hide -3)
(("1"
(expand "nonempty?" -2)
(("1"
(expand "empty?" 1)
(("1"
(skosimp*)
(("1"
(expand "member" -2)
(("1"
(expand "deg" 3)
(("1"
(inst
-1
"incident_edges(v!1, G!1)" )
(("1"
(bddsimp)
(("1"
(expand
"nonempty?"
1)
(("1"
(expand
"empty?"
-1)
(("1"
(inst -1 "x!1" )
(("1"
(expand
"member"
1)
(("1"
(hide 2)
(("1"
(expand
"incident_edges"
*)
(("1"
(expand
"del_vert"
-1)
(("1"
(assert )
(("1"
(flatten)
(("1"
(hide-all-but
(-1
-2)
-)
(("1"
(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 )
("2" (lemma "finite_sets[T].card_one" )
(("2" (inst -1 "vert(del_vert[T](G!1, v!2))" )
(("2" (bddsimp)
(("2"
(hide -1)
(("2"
(skosimp*)
(("2"
(hide -4 -6 2)
(("2"
(expand "del_vert" -1)
(("2"
(hide -2 -3)
(("2"
(expand "deg" -2)
(("2"
(lemma
"finite_sets[doubleton[T]].card_one" )
(("2"
(inst
-1
"incident_edges(v!2, G!1)" )
(("2"
(bddsimp)
(("2"
(hide -1)
(("2"
(skosimp*)
(("2"
(expand
"incident_edges"
*)
(("2"
(case
" ({e: doubleton[T] | edges(G!1)(e) AND e(v!2)})(x!2) =
singleton(x!2)(x!2)")
(("1"
(beta -1)
(("1"
(case
"({y: T | v!2 /= y AND vert(G!1)(y)})(x!1) = singleton(x!1)(x!1)" )
(("1"
(case
"({y: T | v!2 /= y AND vert(G!1)(y)})(v!1) = singleton(x!1)(v!1)" )
(("1"
(case
"({y: T | v!2 /= y AND vert(G!1)(y)})(v!2) = singleton(x!1)(v!2)" )
(("1"
(hide
-5
-6)
(("1"
(beta
-1)
(("1"
(beta
-2)
(("1"
(beta
-3)
(("1"
(assert
-1)
(("1"
(expand
"singleton"
*)
(("1"
(iff
-1)
(("1"
(bddsimp)
(("1"
(lemma
"other_vert" )
(("1"
(inst
-1
"G!1"
"x!2"
"v!2" )
(("1"
(bddsimp)
(("1"
(skosimp*)
(("1"
(reveal
-3)
(("1"
(case
"({y: T | v!2 /= y AND vert(G!1)(y)})(u!1) = singleton(x!1)(u!1)" )
(("1"
(beta
-1)
(("1"
(hide
-2)
(("1"
(expand
"singleton"
*)
(("1"
(iff
-1)
(("1"
(bddsimp)
(("1"
(replace
-3
-8
rl)
(("1"
(replace
-8
-6
rl)
(("1"
(hide
-1
-2
-3
-8
-9
4)
(("1"
(expand
"deg"
+)
(("1"
(lemma
"finite_sets[doubleton[T]].nonempty_card" )
(("1"
(inst
-1
"incident_edges(v!1, G!1)" )
(("1"
(bddsimp)
(("1"
(hide
2)
(("1"
(expand
"nonempty?"
+)
(("1"
(expand
"empty?" )
(("1"
(inst
-1
"x!2" )
(("1"
(expand
"member" )
(("1"
(expand
"incident_edges"
+)
(("1"
(assert )
(("1"
(replace
-3
1)
(("1"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-1
-)
(("2"
(name
"jj"
"({y: T | v!2 /= y AND vert(G!1)(y)})" )
(("2"
(replace
-1
1)
(("2"
(grind)
(("1"
(expand
"remove" )
(("1"
(expand
"member" )
(("1"
(expand
"singleton" )
(("1"
(replace
-1
*
rl)
(("1"
(assert )
(("1"
(decompose-equality
-3)
(("1"
(inst
-
"u!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-1
*
rl)
(("2"
(assert )
(("2"
(expand
"remove" )
(("2"
(expand
"member" )
(("2"
(expand
"singleton" )
(("2"
(decompose-equality
-3)
(("2"
(inst
-
"u!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-5
-)
(("2"
(name
"jj"
"({y: T | v!2 /= y AND vert(G!1)(y)})" )
(("2"
(replace
-1
1)
(("2"
(grind)
(("1"
(expand
"remove" )
(("1"
(expand
"member" )
(("1"
(expand
"singleton" )
(("1"
(replace
-1
*
rl)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-1
*
rl)
(("2"
(expand
"remove" )
(("2"
(expand
"member" )
(("2"
(expand
"singleton" )
(("2"
(assert )
(("2"
(decompose-equality
-3)
(("2"
(inst
-
"v!2" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-4
-)
(("2"
(name
"jj"
"({y: T | v!2 /= y AND vert(G!1)(y)})" )
(("2"
(replace
-1
1)
(("2"
(grind)
(("1"
(expand
"remove" )
(("1"
(expand
"member" )
(("1"
(expand
"singleton" )
(("1"
(replace
-1
*
rl)
(("1"
(assert )
(("1"
(decompose-equality
-3)
(("1"
(inst
-
"v!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"remove" )
(("2"
(expand
"member" )
(("2"
(expand
"singleton" )
(("2"
(replace
-1
*
rl)
(("2"
(assert )
(("2"
(decompose-equality
-3)
(("2"
(inst
-
"v!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-3
-)
(("2"
(name
"jj"
"({y: T | v!2 /= y AND vert(G!1)(y)})" )
(("2"
(replace
-1
1)
(("2"
(grind)
(("2"
(expand
"singleton" )
(("2"
(expand
"remove" )
(("2"
(expand
"member" )
(("2"
(replace
-1
*
rl)
(("2"
(assert )
(("2"
(decompose-equality
-2)
(("2"
(assert )
(("2"
(inst
-
"x!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -2 3)
(("2"
(name
"cc"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!2)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide -2 -3 -5 3 4)
(("3" (grind) nil nil )) nil )
("4" (lemma "size_del_vert" )
(("4" (inst -1 "G!1" "v!2" )
(("4" (replace -6 -1)
(("4" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((int_minus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(del_vert const-decl "graph[T]" graph_ops nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(finite_remove application-judgement "finite_set" finite_sets nil )
(remove const-decl "set" sets nil )
(incident_edges const-decl "finite_set[doubleton[T]]" graph_deg
nil )
(member const-decl "bool" sets nil )
(nonempty_singleton_finite application-judgement
"non_empty_finite_set" finite_sets nil )
(nonempty_card formula-decl nil finite_sets nil )
(empty? const-decl "bool" sets nil )
(nonempty? const-decl "bool" sets nil )
(nil application-judgement "finite_set[T]" trees nil )
(other_vert formula-decl nil graphs nil )
(singleton const-decl "(singleton?)" sets nil )
(singleton? const-decl "bool" sets nil )
(card_one formula-decl nil finite_sets nil )
(even_minus_odd_is_odd application-judgement "odd_int" integers
nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(even_plus_even_is_even application-judgement "even_int" integers
nil )
(size_del_vert formula-decl nil graph_ops nil )
(nat_induction formula-decl nil naturalnumbers nil )
(card const-decl "{n: nat | n = Card(S)}" finite_sets nil )
(Card const-decl "nat" finite_sets nil )
(is_finite const-decl "bool" finite_sets nil )
(deg const-decl "nat" graph_deg nil )
(> const-decl "bool" reals nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(size const-decl "nat" graphs nil )
(tree? def-decl "bool" trees nil )
(graph type-eq-decl nil graphs nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(pregraph type-eq-decl nil graphs nil )
(finite_set type-eq-decl nil finite_sets nil )
(doubleton type-eq-decl nil doubletons nil )
(dbl const-decl "set[T]" doubletons nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(/= const-decl "boolean" notequal nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(set type-eq-decl nil sets nil ) (T formal-type-decl nil trees nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans 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 ))
(tree_edge_all 0
(tree_edge_all-1 nil 3262616780
("" (lemma "tree_edge_k" )
(("" (lemma "tree_edge" )
(("" (assert ) (("" (bddsimp) nil nil )) nil )) nil ))
nil )
((tree_edge formula-decl nil trees nil )
(tree_edge_k formula-decl nil trees nil ))
nil ))
(del_tree_k 0
(del_tree_k-2 nil 3312289508
("" (skosimp*)
(("" (inst? -1)
(("" (inst -1 "size(G!1) -1" )
(("1" (assert ) nil nil )
("2" (lemma "tree_nonempty" )
(("2" (inst? -1)
(("2" (bddsimp)
(("2" (expand "empty?" )
(("2" (expand "size" 2)
(("2" (assert 2)
(("2" (lemma "finite_sets[T].nonempty_card" )
(("2" (inst -1 "vert(G!1)" )
(("2" (bddsimp)
(("1" (assert ) nil nil )
("2" (hide -1 -2 -3 2 4 5)
(("2" (grind) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((T formal-type-decl nil trees nil )
(boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(set type-eq-decl nil sets nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(/= const-decl "boolean" notequal nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(dbl const-decl "set[T]" doubletons nil )
(doubleton type-eq-decl nil doubletons nil )
(finite_set type-eq-decl nil finite_sets nil )
(pregraph type-eq-decl nil graphs nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(graph type-eq-decl nil graphs nil )
(tree_nonempty formula-decl nil trees nil )
(nonempty_card formula-decl nil finite_sets nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(member const-decl "bool" sets nil )
(empty? const-decl "bool" sets nil )
(nonempty? const-decl "bool" sets nil )
(is_finite const-decl "bool" finite_sets nil )
(empty? const-decl "bool" graphs nil )
(int_plus_int_is_int application-judgement "int" integers 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 )
(>= const-decl "bool" reals nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields 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 )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(size const-decl "nat" graphs nil )
(G!1 skolem-const-decl "graph[T]" trees nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
nil )
(del_tree_k-1 nil 3262616780
("" (skosimp*)
(("" (inst? -1)
(("" (inst -1 "size(G!1) -1" )
(("1" (assert ) nil nil )
("2" (lemma "tree_nonempty" )
(("2" (inst? -1)
(("2" (bddsimp)
(("2" (expand "empty?" )
(("2" (expand "size[T]" 2)
(("2" (assert 2)
(("2" (lemma "finite_sets[T].nonempty_card" )
(("2" (inst -1 "vert(G!1)" )
(("2" (bddsimp)
(("1" (assert ) nil nil )
("2" (hide -1 -2 -3 2 4 5)
(("2" (grind) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((dbl const-decl "set[T]" doubletons nil )
(doubleton type-eq-decl nil doubletons nil )
(pregraph type-eq-decl nil graphs nil )
(graph type-eq-decl nil graphs nil )
(empty? const-decl "bool" graphs nil )
(size const-decl "nat" graphs nil ))
nil ))
(del_tree 0
(del_tree-3 nil 3312294681
("" (induct "k" 1 "nat_induction" )
(("1" (skosimp*)
(("1" (name "H!1" "del_vert(G!1,v!1)" )
(("1" (assert -3)
(("1" (copy 1)
(("1" (replace -1 1)
(("1" (expand "tree?" -2)
(("1" (bddsimp)
(("1" (hide -3)
(("1" (lemma "finite_sets[T].card_one" )
(("1" (inst -1 "vert(G!1)" )
(("1" (bddsimp)
(("1" (expand "deg" -5)
(("1" (reveal -1)
(("1"
(lemma
"finite_sets[doubleton[T]].card_one" )
(("1"
(hide -2)
(("1"
(inst -1 "incident_edges(v!1,G!1)" )
(("1"
(bddsimp -1 -6)
(("1"
(delete -1)
(("1"
(skosimp*)
(("1"
(typepred "x!1" )
(("1"
(skosimp*)
(("1"
(case "x!1(x!2)" )
(("1"
(hide
-4
-6
-7
-8
2
3)
(("1"
(grind)
(("1"
(expand
"singleton"
-4)
(("1"
(expand
"dbl"
-2)
(("1"
(case
"vert(G!1)(y!1)" )
(("1"
(grind)
nil
nil )
("2"
(case
"edges(G!1)(x!1)" )
(("1"
(typepred
"G!1" )
(("1"
(inst
-1
"x!1" )
(("1"
(bddsimp
-1
-2)
(("1"
(inst-cp
-1
"x!3" )
(("1"
(inst
-1
"y!1" )
(("1"
(assert )
(("1"
(hide
-4
-6)
(("1"
(hide
-3)
(("1"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(propax)
nil
nil ))
nil ))
nil ))
nil )
("2"
(expand
"incident_edges"
-)
(("2"
(expand
"dbl"
-3)
(("2"
(replace
-2
-3
rl)
(("2"
(hide
-1
-2
-4
2
3)
(("2"
(case
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!1)" )
(("1"
(grind)
nil
nil )
("2"
(hide
2)
(("2"
(grind)
(("1"
(expand
"singleton"
-1)
(("1"
(lemma
"functions[doubleton[T],bool].extensionality_postulate" )
(("1"
(inst
-1
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})"
"({y: doubleton[T] | y = x!1})" )
(("1"
(bddsimp)
(("1"
(inst
-1
"x!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"functions[doubleton[T],bool].extensionality_postulate" )
(("2"
(inst
-1
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})"
"({y: doubleton[T] | y = x!1})" )
(("2"
(bddsimp)
(("1"
(inst
-1
"x!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
(("2"
(hide
1
3)
(("2"
(expand
"singleton"
-1)
(("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"vert(G!1)(x!3)" )
(("1"
(grind)
nil
nil )
("2"
(replace
-2
-3
rl)
(("2"
(expand
"incident_edges"
-3)
(("2"
(case
"singleton(x!1)(x!1)" )
(("1"
(replace
-4
-1
rl)
(("1"
(case
"edges(G!1)(x!1)" )
(("1"
(typepred
"G!1" )
(("1"
(inst
-1
"x!1" )
(("1"
(bddsimp
-1
-2)
(("1"
(case
"x!1(x!3)" )
(("1"
(inst
-2
"x!3" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
(("2"
(hide
-1
-2
-3
-4
-6
-7)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("2"
(propax)
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide
-2
-3
-4
-5)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -3 -5 -7 3 4)
(("2"
(install-rewrites
"graphs" )
(("2"
(assert )
(("2"
(expand
"incident_edges"
-)
(("2"
(expand
"singleton"
-3)
(("2"
(expand
"singleton"
-2)
(("2"
(replace
-3
-4)
(("2"
(beta
-4)
(("2"
(replace
-4
-2)
(("2"
(case
"({e: doubleton[T] | edges(G!1)(e) AND e(x!2)})(x!1) = ({y: doubleton[T] | y = x!1})(x!1)" )
(("1"
(assert
-1)
nil
nil )
("2"
(hide
-1
-3
-4
2
3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (lemma "finite_sets[T].card_one" )
(("2" (inst -1 "vert(G!1)" )
(("2" (bddsimp)
(("1" (hide -4)
(("1" (skosimp*)
(("1" (hide -4)
(("1"
(expand "deg" -5)
(("1"
(lemma
"finite_sets[doubleton[T]].card_one" )
(("1"
(inst -1 "incident_edges(v!1,G!1)" )
(("1"
(bddsimp -1 -6)
(("1"
(delete -1)
(("1"
(skosimp*)
(("1"
(typepred "x!2" )
(("1"
(skosimp*)
(("1"
(case "x!2(x!1)" )
(("1"
(expand
"incident_edges"
-3)
(("1"
(case
"singleton(x!2)(x!2)" )
(("1"
(case
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!2) = singleton(x!2)(x!2)" )
(("1"
(beta -1)
(("1"
(typepred
"G!1" )
(("1"
(inst
-1
"x!2" )
(("1"
(bddsimp)
(("1"
(hide
-1
-3
-7
-10
-11
-12
2
3)
(("1"
(inst-cp
-1
"x!3" )
(("1"
(inst
-1
"y!1" )
(("1"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-4
-)
(("2"
(hide 2 3 4)
(("2"
(name
"ff"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(hide
-1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-1
-)
(("2"
(hide 2 3 4)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-3
-5
-6
-7
3
4)
(("2"
(expand
"incident_edges"
-2)
(("2"
(case
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!2) = singleton(x!2)(x!2)" )
(("1"
(beta -1)
(("1"
(typepred
"G!1" )
(("1"
(inst
-1
"x!2" )
(("1"
(bddsimp)
(("1"
(inst-cp
-2
"x!3" )
(("1"
(inst
-2
"y!1" )
(("1"
(case
"x!2(y!1) AND x!2(x!3)" )
(("1"
(bddsimp)
(("1"
(hide
-1
-2
-3
-6
-7
-8
-9)
(("1"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide-all-but
-6
-)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil )
("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-1
-3
2
3)
(("2"
(name
"ff"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(hide
-1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "size" -3)
(("2" (propax) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (skosimp*)
(("2" (copy 1)
(("2" (name "H!1" "del_vert(G!1, v!1)" )
(("2" (replace -1 1)
(("2" (expand "tree?" -3)
(("2" (expand "size" -4)
(("2" (typepred "j!1" )
(("2" (case "NOT card[T](vert(G!1)) = 1" )
(("1" (bddsimp)
(("1" (skosimp*)
(("1" (name "W!1" "del_vert[T](G!1, v!2)" )
(("1" (copy -6)
(("1" (replace -2 -1)
(("1"
(hide -3 1)
(("1"
(lemma "del_vert_comm" )
(("1"
(inst -1 "G!1" "v!1" "v!2" )
(("1"
(replace -3 -1)
(("1"
(replace -4 -1)
(("1"
(lemma "size_del_vert" )
(("1"
(inst-cp -1 "G!1" "v!1" )
(("1"
(inst-cp -1 "G!1" "v!2" )
(("1"
(inst-cp
-1
"H!1"
"v!2" )
(("1"
(inst-cp
-1
"W!1"
"v!1" )
(("1"
(replace -8 -4)
(("1"
(replace -9 -5)
(("1"
(name
"U!1"
"del_vert(W!1, v!1)" )
(("1"
(hide -2)
(("1"
(inst
-10
"W!1"
"v!1" )
(("1"
(case
"v!1=v!2" )
(("1"
(replace
-1
-9
rl)
(("1"
(replace
-9
-10)
(("1"
(replace
-10
-8)
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil )
("2"
(case
"size(G!1) = j!1+2" )
(("1"
(case
"vert(W!1)(v!1) AND deg(v!1,W!1)=1" )
(("1"
(replace
-2
-6)
(("1"
(assert
-6)
(("1"
(bddsimp
-1
-6
-9
-12)
(("1"
(simplify)
(("1"
(case
"tree?(W!1) AND vert(W!1)(v!1) AND deg(v!1, W!1) = 1" )
(("1"
(bddsimp
-1
-14)
(("1"
(case
"tree?(del_vert(W!1, v!1))" )
(("1"
(replace
-8
-1)
(("1"
(replace
-8
-13)
(("1"
(case
"deg(v!2,H!1)=1" )
(("1"
(expand
"tree?"
2)
(("1"
(flatten)
(("1"
(inst
3
"v!2" )
(("1"
(replace
-14
3
rl)
(("1"
(assert )
nil
nil ))
nil )
("2"
(copy
-17)
(("2"
(expand
"del_vert"
-1)
(("2"
(hide-all-but
(-1
-18
-20
-23
-24)
-)
(("2"
(hide
4)
(("2"
(case
"remove[T](v!1, vert(G!1))=vert(H!1)" )
(("1"
(case
"remove[T](v!1, vert(G!1))(v!2)=vert(H!1)(v!2)" )
(("1"
(hide
-2
-3)
(("1"
(expand
"remove"
-1)
(("1"
(expand
"member"
-1)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-1
-)
(("2"
(hide
2
3
4)
(("2"
(name
"gg"
"remove[T](v!1, vert(G!1))" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(hide
-1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-2
-3
-4
-5)
(("2"
(hide
2
3
4)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(copy
-16)
(("2"
(expand
"del_vert"
-1)
(("2"
(case
"remove[T](v!1, vert(G!1))=vert(H!1)" )
(("1"
(hide
-2)
(("1"
(case
"remove[T](v!1, vert(G!1))(v!2)=vert(H!1)(v!2)" )
(("1"
(hide
-2)
(("1"
(expand
"remove"
-1)
(("1"
(bddsimp)
(("1"
(hide
-4
-5
-6
-7
-9
-10
-11
-12
-14
-15
-17
-19
-20
3
4)
(("1"
(expand
"deg"
-7
1)
(("1"
(expand
"deg"
1)
(("1"
(expand
"member"
-2)
(("1"
(hide
2)
(("1"
(expand
"del_vert"
-6)
(("1"
(lemma
"finite_sets[T].card_one" )
(("1"
(hide
-1)
(("1"
(lemma
"finite_sets[doubleton[T]].card_one" )
(("1"
(inst-cp
-1
"incident_edges(v!2, G!1)" )
(("1"
(inst
-1
"incident_edges(v!2, H!1)" )
(("1"
(bddsimp)
(("1"
(hide
-1
1)
(("1"
(skosimp*)
(("1"
(inst
1
"x!1" )
(("1"
(expand
"incident_edges" )
(("1"
(case
"j!1>0" )
(("1"
(case
"edges(H!1)=({e: doubleton[T] | edges(G!1)(e) AND NOT e(v!1)})" )
(("1"
(apply-extensionality
1)
(("1"
(hide
2)
(("1"
(case
" ({e: doubleton[T] | edges(G!1)(e) AND e(v!2)})(x!2)
= singleton(x!1)(x!2)")
(("1"
(beta
-1)
(("1"
(assert )
(("1"
(replace
-2
1)
(("1"
(beta
1)
(("1"
(hide
-2
-4
-9)
(("1"
(replace
-1
1
rl)
(("1"
(iff
1)
(("1"
(bddsimp)
(("1"
(reveal
-9
-10
-16)
(("1"
(expand
"deg"
-2)
(("1"
(reveal
-5)
(("1"
(inst
-1
"incident_edges(v!1, W!1)" )
(("1"
(bddsimp)
(("1"
(skosimp*)
(("1"
(expand
"incident_edges"
-2)
(("1"
(hide
-1)
(("1"
(expand
"del_vert"
-3)
(("1"
(case
"edges(W!1)=({e: doubleton[T] | edges(G!1)(e) AND NOT e(v!2)})" )
(("1"
(replace
-1
-2)
(("1"
(beta
-2)
(("1"
(case
" ({e: doubleton[T] | (edges(G!1)(e) AND NOT e(v!2)) AND e(v!1)})(x!3) = singleton(x!3)(x!3)" )
(("1"
(hide
-2
-3
-5)
(("1"
(beta
-1)
(("1"
(case
"singleton(x!3)(x!3)" )
(("1"
(iff
-2)
(("1"
(bddsimp)
(("1"
(expand
"deg"
-15)
(("1"
(reveal
-9)
(("1"
(inst
-1
"incident_edges(v!1, G!1)" )
(("1"
(bddsimp)
(("1"
(skosimp*)
(("1"
(expand
"incident_edges"
-2)
(("1"
(case
" ({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!2)
= singleton(x!4)(x!2)")
(("1"
(case
" ({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!3)
= singleton(x!4)(x!3)")
(("1"
(hide
-4)
(("1"
(beta
-1)
(("1"
(beta
-2)
(("1"
(iff
-1)
(("1"
(iff
-2)
(("1"
(bddsimp)
(("1"
(hide
-1
-4
-7
-8
-9
-14
-15
-16
-17)
(("1"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-3
-)
(("2"
(name
"kkk"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-2
-)
(("2"
(name
"kkk"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})" )
(("2"
(replace
-1
1)
(("2"
(replace
-1
-2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-7
-)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-2
-)
(("2"
(name
"ww"
"({e: doubleton[T] | (edges(G!1)(e) AND NOT e(v!2)) AND e(v!1)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-3
-)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-3
-)
(("2"
(name
"mm"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!2)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-7
-)
(("2"
(hide
2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("2"
(typepred
"j!1" )
(("2"
(case
"j!1=0" )
(("1"
(replace
-1
-6)
(("1"
(replace
-6
-7)
(("1"
(assert
-7)
(("1"
(expand
"size"
-7)
(("1"
(reveal
4)
(("1"
(expand
"tree?"
1)
(("1"
(hide-all-but
-7
-)
(("1"
(hide
2
3
4)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-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 )
("2"
(hide-all-but
-15
-)
(("2"
(hide
2
3
4
5
6)
(("2"
(grind)
nil
nil ))
nil ))
nil )
("3"
(hide-all-but
-15
-)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-1
-)
(("2"
(hide
2
3
4
5)
(("2"
(name
"kk"
"remove[T](v!1, vert(G!1))" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-1
-)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1
-2
-3
-16)
-)
(("2"
(hide
2
3
4)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"j!1>0" )
(("1"
(hide
-3
-12
-14
3
4)
(("1"
(expand
"del_vert"
-9)
(("1"
(case
"vert(W!1)=remove[T](v!2, vert(G!1))" )
(("1"
(case
"edges(W!1)=({e: doubleton[T] | edges(G!1)(e) AND NOT e(v!2)})" )
(("1"
(expand
"remove"
-2)
(("1"
(case
"vert(W!1)(v!1) = ({y: T | v!2 /= y AND member(y, vert(G!1))})(v!1)" )
(("1"
(beta
-1)
(("1"
(expand
"member"
-1)
(("1"
(iff
-1)
(("1"
(bddsimp)
(("1"
(expand
"deg"
1)
(("1"
(lemma
"finite_sets[doubleton[T]].card_one" )
(("1"
(inst
-1
"incident_edges(v!1, W!1)" )
(("1"
(bddsimp)
(("1"
(lemma
"finite_sets[doubleton[T]].card_one" )
(("1"
(inst
-1
"incident_edges(v!1, G!1)" )
(("1"
(expand
"deg"
-19)
(("1"
(bddsimp)
(("1"
(skosimp*)
(("1"
(inst
2
"x!1" )
(("1"
(hide
-1
-14
-15
1
4)
(("1"
(expand
"incident_edges" )
(("1"
(lemma
"tree_edge_all" )
(("1"
(reveal
-2)
(("1"
(inst
-2
"W!1"
"v!1" )
(("1"
(bddsimp)
(("1"
(hide
-1
-10
-11
-13
-14
-15
-17)
(("1"
(expand
"deg"
-2)
(("1"
(lemma
"finite_sets[doubleton[T]].nonempty_card" )
(("1"
(inst
-1
"incident_edges(v!1, W!1)" )
(("1"
(bddsimp)
(("1"
(expand
"nonempty?"
-1)
(("1"
(expand
"empty?"
1)
(("1"
(skosimp*)
(("1"
(expand
"member" )
(("1"
(expand
"incident_edges"
-1)
(("1"
(flatten)
(("1"
(apply-extensionality
1)
(("1"
(hide
-3
2)
(("1"
(replace
-6
1)
(("1"
(beta
1)
(("1"
(hide
-6
-7)
(("1"
(case
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!1)
= singleton(x!1)(x!1)")
(("1"
(case
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!2)
= singleton(x!1)(x!2)")
(("1"
(case
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!3)
= singleton(x!1)(x!3)")
(("1"
(iff
1)
(("1"
(iff
-1)
(("1"
(iff
-2)
(("1"
(iff
-3)
(("1"
(bddsimp)
(("1"
(hide
-11)
(("1"
(beta)
(("1"
(flatten)
(("1"
(grind)
(("1"
(reveal
-2)
(("1"
(case
"edges(W!1)(x!1) = ({e: doubleton[T] | edges(G!1)(e) AND NOT e(v!2)})(x!1)" )
(("1"
(iff
-1)
(("1"
(beta
-1)
(("1"
(hide
-2
-4
-5)
(("1"
(bddsimp)
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-1
-)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-1
-)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide-all-but
-1
-)
(("3"
(grind)
nil
nil ))
nil )
("4"
(hide-all-but
-11
-)
(("4"
(hide
1)
(("4"
(grind)
nil
nil ))
nil ))
nil )
("5"
(grind)
nil
nil )
("6"
(grind)
nil
nil )
("7"
(grind)
(("7"
(reveal
-1)
(("7"
(case
"edges(W!1)(x!2) = ({e: doubleton[T] | edges(G!1)(e) AND NOT e(v!2)})(x!2)" )
(("1"
(iff
-1)
(("1"
(beta
-1)
(("1"
(bddsimp)
nil
nil ))
nil ))
nil )
("2"
(hide-all-but
-1
-)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("8"
(grind)
nil
nil )
("9"
(replace
-8
-2
rl)
(("9"
(beta
-2)
(("9"
(bddsimp)
nil
nil ))
nil ))
nil )
("10"
(grind)
nil
nil )
("11"
(grind)
nil
nil )
("12"
(grind)
nil
nil )
("13"
(beta
1)
(("13"
(bddsimp)
nil
nil ))
nil )
("14"
(grind)
nil
nil )
("15"
(hide-all-but
(-3
-4)
-)
(("15"
(hide
2
3
4
5
6)
(("15"
(beta
1)
(("15"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("16"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-6
-)
(("2"
(hide
2)
(("2"
(name
"kkk"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-5
-)
(("2"
(name
"kkk"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-4
-)
(("2"
(name
"kkk"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(replace
-9
-12)
(("2"
(assert
-12)
(("2"
(expand
"size"
-12)
(("2"
(hide-all-but
(-3
-8
-12)
-)
(("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"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-2
-)
(("2"
(name
"jj"
"({y: T | v!2 /= y AND member(y, vert(G!1))})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-10
-)
(("2"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide-all-but
-9
-)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(typepred
"j!1" )
(("2"
(case
"j!1=0" )
(("1"
(replace
-1
-3)
(("1"
(replace
-3
-8)
(("1"
(assert
-8)
(("1"
(expand
"size"
-8)
(("1"
(expand
"tree?"
4)
(("1"
(hide-all-but
-8
-)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-1
-)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"size"
1)
(("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case "v!1=v!2" )
(("1"
(replace
-1
-7
rl)
(("1"
(replace -7 -8)
(("1"
(replace
-8
-6)
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil )
("2"
(copy -6)
(("2"
(expand
"del_vert"
-1)
(("2"
(hide-all-but
(-1 -13)
-)
(("2"
(hide 3 4)
(("2"
(grind)
(("2"
(case
"remove[T](v!2,vert(G!1))=vert(W!1)" )
(("1"
(hide
-2)
(("1"
(case
" remove[T](v!2, vert(G!1))(v!1) = vert(W!1)(v!1)" )
(("1"
(hide
-2)
(("1"
(expand
"remove"
-1)
(("1"
(expand
"member"
1)
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case "v!1=v!2" )
(("1"
(replace -1 -6 rl)
(("1"
(replace -6 -7)
(("1"
(replace -7 -5)
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil )
("2"
(copy -6)
(("2"
(expand
"del_vert"
-1)
(("2"
(hide-all-but
(-1 -9 -13)
-)
(("2"
(hide 3 4)
(("2"
(grind)
(("2"
(case
"remove[T](v!1,vert(G!1))=vert(H!1)" )
(("1"
(case
" remove[T](v!1, vert(G!1))(v!2) = vert(H!1)(v!2)" )
(("1"
(hide
-2)
(("1"
(expand
"remove"
-1)
(("1"
(expand
"member"
1)
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (-1 -6 -8) -)
(("2" (typepred "j!1" ) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((del_vert_comm formula-decl nil graph_ops nil )
(size_del_vert formula-decl nil graph_ops nil )
(W!1 skolem-const-decl "graph[T]" trees nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(finite_remove application-judgement "finite_set" finite_sets nil )
(remove const-decl "set" sets nil )
(member const-decl "bool" sets nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(even_plus_even_is_even application-judgement "even_int" integers
nil )
(even_minus_odd_is_odd application-judgement "odd_int" integers
nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(> const-decl "bool" reals nil )
(tree_edge_all formula-decl nil trees nil )
(nonempty_card formula-decl nil finite_sets nil )
(empty? const-decl "bool" sets nil )
(nonempty? const-decl "bool" sets nil )
(v!2 skolem-const-decl "(vert(G!1))" trees nil )
(H!1 skolem-const-decl "graph[T]" trees nil )
(v!1 skolem-const-decl "T" trees nil )
(G!1 skolem-const-decl "graph[T]" trees nil )
(card const-decl "{n: nat | n = Card(S)}" finite_sets nil )
(Card const-decl "nat" finite_sets nil )
(even_plus_odd_is_odd application-judgement "odd_int" integers nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(card_one formula-decl nil finite_sets nil )
(singleton? const-decl "bool" sets nil )
(singleton const-decl "(singleton?)" sets nil )
(extensionality_postulate formula-decl nil functions nil )
(nonempty_singleton_finite application-judgement
"non_empty_finite_set" finite_sets nil )
(nil application-judgement "finite_set[T]" trees nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(incident_edges const-decl "finite_set[doubleton[T]]" graph_deg
nil )
(is_finite const-decl "bool" finite_sets nil )
(nat_induction formula-decl nil naturalnumbers nil )
(del_vert const-decl "graph[T]" graph_ops nil )
(deg const-decl "nat" graph_deg nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(size const-decl "nat" graphs nil )
(tree? def-decl "bool" trees nil )
(graph type-eq-decl nil graphs nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(pregraph type-eq-decl nil graphs nil )
(finite_set type-eq-decl nil finite_sets nil )
(doubleton type-eq-decl nil doubletons nil )
(dbl const-decl "set[T]" doubletons nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(/= const-decl "boolean" notequal nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(set type-eq-decl nil sets nil ) (T formal-type-decl nil trees nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans 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 )
(del_tree-2 nil 3312294198
("" (induct "k" 1 "nat_induction" )
(("1" (skosimp*)
(("1" (name "H!1" "del_vert(G!1,v!1)" )
(("1" (assert -3)
(("1" (copy 1)
(("1" (replace -1 1)
(("1" (expand "tree?" -2)
(("1" (bddsimp)
(("1" (hide -3)
(("1" (lemma "finite_sets[T].card_one" )
(("1" (inst -1 "vert(G!1)" )
(("1" (bddsimp)
(("1" (expand "deg" -5)
(("1" (reveal -1)
(("1"
(lemma
"finite_sets[doubleton[T]].card_one" )
(("1"
(hide -2)
(("1"
(inst -1 "incident_edges(v!1,G!1)" )
(("1"
(bddsimp -1 -6)
(("1"
(delete -1)
(("1"
(skosimp*)
(("1"
(typepred "x!1" )
(("1"
(skosimp*)
(("1"
(case "x!1(x!2)" )
(("1"
(hide
-4
-6
-7
-8
2
3)
(("1"
(grind)
(("1"
(expand
"singleton"
-4)
(("1"
(expand
"dbl"
-2)
(("1"
(case
"vert(G!1)(y!1)" )
(("1"
(grind)
nil )
("2"
(case
"edges(G!1)(x!1)" )
(("1"
(typepred
"G!1" )
(("1"
(inst
-1
"x!1" )
(("1"
(bddsimp
-1
-2)
(("1"
(inst-cp
-1
"x!3" )
(("1"
(inst
-1
"y!1" )
(("1"
(assert )
(("1"
(hide
-4
-6)
(("1"
(hide
-3)
(("1"
(grind)
nil )))))))))))
("2"
(propax)
nil )))))))
("2"
(expand
"incident_edges"
-)
(("2"
(expand
"dbl"
-3)
(("2"
(replace
-2
-3
rl)
(("2"
(hide
-1
-2
-4
2
3)
(("2"
(case
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!1)" )
(("1"
(grind)
nil )
("2"
(hide
2)
(("2"
(grind)
(("1"
(expand
"singleton"
-1)
(("1"
(lemma
"functions[doubleton[T],bool].extensionality_postulate" )
(("1"
(inst
-1
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})"
"({y: doubleton[T] | y = x!1})" )
(("1"
(bddsimp)
(("1"
(inst
-1
"x!1" )
(("1"
(assert )
nil )))))))))))
("2"
(lemma
"functions[doubleton[T],bool].extensionality_postulate" )
(("2"
(inst
-1
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})"
"({y: doubleton[T] | y = x!1})" )
(("2"
(bddsimp)
(("1"
(inst
-1
"x!1" )
(("1"
(assert )
nil )))
("2"
(assert )
(("2"
(hide
1
3)
(("2"
(expand
"singleton"
-1)
(("2"
(propax)
nil )))))))))))))))))))))))))))))))))))
("2"
(case
"vert(G!1)(x!3)" )
(("1"
(grind)
nil )
("2"
(replace
-2
-3
rl)
(("2"
(expand
"incident_edges"
-3)
(("2"
(case
"singleton(x!1)(x!1)" )
(("1"
(replace
-4
-1
rl)
(("1"
(case
"edges(G!1)(x!1)" )
(("1"
(typepred
"G!1" )
(("1"
(inst
-1
"x!1" )
(("1"
(bddsimp
-1
-2)
(("1"
(case
"x!1(x!3)" )
(("1"
(inst
-2
"x!3" )
(("1"
(assert )
nil )))
("2"
(assert )
(("2"
(hide
-1
-2
-3
-4
-6
-7)
(("2"
(grind)
nil )))))))
("2"
(propax)
nil )))))))
("2"
(hide
-2
-3
-4
-5)
(("2"
(grind)
nil )))))))
("2"
(grind)
nil )))))))))))))
("2"
(hide -3 -5 -7 3 4)
(("2"
(install-rewrites
"graphs" )
(("2"
(assert )
(("2"
(expand
"incident_edges"
-)
(("2"
(expand
"singleton"
-3)
(("2"
(expand
"singleton"
-2)
(("2"
(replace
-3
-4)
(("2"
(beta
-4)
(("2"
(replace
-4
-2)
(("2"
(case
"({e: doubleton[T] | edges(G!1)(e) AND e(x!2)})(x!1) = ({y: doubleton[T] | y = x!1})(x!1)" )
(("1"
(assert
-1)
nil )
("2"
(hide
-1
-3
-4
2
3)
(("2"
(grind)
nil )))))))))))))))))))))))))))))))))
("2"
(propax)
nil )))))))))))))))))))))
("2" (lemma "finite_sets[T].card_one" )
(("2" (inst -1 "vert(G!1)" )
(("2" (bddsimp)
(("1" (hide -4)
(("1" (skosimp*)
(("1" (hide -4)
(("1"
(expand "deg" -5)
(("1"
(lemma
"finite_sets[doubleton[T]].card_one" )
(("1"
(inst -1 "incident_edges(v!1,G!1)" )
(("1"
(bddsimp -1 -6)
(("1"
(delete -1)
(("1"
(skosimp*)
(("1"
(typepred "x!2" )
(("1"
(skosimp*)
(("1"
(case "x!2(x!1)" )
(("1"
(expand
"incident_edges"
-3)
(("1"
(case
"singleton(x!2)(x!2)" )
(("1"
(case
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!2) = singleton(x!2)(x!2)" )
(("1"
(beta -1)
(("1"
(typepred
"G!1" )
(("1"
(inst
-1
"x!2" )
(("1"
(bddsimp)
(("1"
(hide
-1
-3
-7
-10
-11
-12
2
3)
(("1"
(inst-cp
-1
"x!3" )
(("1"
(inst
-1
"y!1" )
(("1"
(grind)
nil )))))))))))))))
("2"
(hide-all-but
-4
-)
(("2"
(hide 2 3 4)
(("2"
(name
"ff"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(hide
-1)
(("2"
(grind)
nil )))))))))))))))
("2"
(hide-all-but
-1
-)
(("2"
(hide 2 3 4)
(("2"
(grind)
nil )))))))))
("2"
(hide
-3
-5
-6
-7
3
4)
(("2"
(expand
"incident_edges"
-2)
(("2"
(case
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!2) = singleton(x!2)(x!2)" )
(("1"
(beta -1)
(("1"
(typepred
"G!1" )
(("1"
(inst
-1
"x!2" )
(("1"
(bddsimp)
(("1"
(inst-cp
-2
"x!3" )
(("1"
(inst
-2
"y!1" )
(("1"
(case
"x!2(y!1) AND x!2(x!3)" )
(("1"
(bddsimp)
(("1"
(hide
-1
-2
-3
-6
-7
-8
-9)
(("1"
(grind)
nil )))))
("2"
(hide-all-but
-6
-)
(("2"
(grind)
nil )))))))))
("2"
(grind)
nil )
("3"
(grind)
nil )))))))))
("2"
(hide
-1
-3
2
3)
(("2"
(name
"ff"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(hide
-1)
(("2"
(grind)
nil )))))))))))))))))))))))))))
("2" (propax) nil )))))))))))))))
("2" (expand "size" -3)
(("2" (propax) nil )))))))))))))))))))))))
("2" (skosimp*)
(("2" (copy 1)
(("2" (name "H!1" "del_vert(G!1, v!1)" )
(("2" (replace -1 1)
(("2" (expand "tree?" -3)
(("2" (expand "size" -4)
(("2" (typepred "j!1" )
(("2" (case "NOT card[T](vert(G!1)) = 1" )
(("1" (bddsimp)
(("1" (skosimp*)
(("1" (name "W!1" "del_vert[T](G!1, v!2)" )
(("1" (copy -6)
(("1" (replace -2 -1)
(("1"
(hide -3 1)
(("1"
(lemma "del_vert_comm" )
(("1"
(inst -1 "G!1" "v!1" "v!2" )
(("1"
(replace -3 -1)
(("1"
(replace -4 -1)
(("1"
(lemma "size_del_vert" )
(("1"
(inst-cp -1 "G!1" "v!1" )
(("1"
(inst-cp -1 "G!1" "v!2" )
(("1"
(inst-cp
-1
"H!1"
"v!2" )
(("1"
(inst-cp
-1
"W!1"
"v!1" )
(("1"
(replace -8 -4)
(("1"
(replace -9 -5)
(("1"
(name
"U!1"
"del_vert(W!1, v!1)" )
(("1"
(hide -2)
(("1"
(inst
-10
"W!1"
"v!1" )
(("1"
(case
"v!1=v!2" )
(("1"
(replace
-1
-9
rl)
(("1"
(replace
-9
-10)
(("1"
(replace
-10
-8)
(("1"
(propax)
nil )))))))
("2"
(case
"size(G!1) = j!1+2" )
(("1"
(case
"vert(W!1)(v!1) AND deg(v!1,W!1)=1" )
(("1"
(replace
-2
-6)
(("1"
(assert
-6)
(("1"
(bddsimp
-1
-6
-9
-12)
(("1"
(simplify)
(("1"
(case
"tree?(W!1) AND vert(W!1)(v!1) AND deg(v!1, W!1) = 1" )
(("1"
(bddsimp
-1
-14)
(("1"
(case
"tree?(del_vert(W!1, v!1))" )
(("1"
(replace
-8
-1)
(("1"
(replace
-8
-13)
(("1"
(case
"deg(v!2,H!1)=1" )
(("1"
(expand
"tree?"
2)
(("1"
(flatten)
(("1"
(inst
3
"v!2" )
(("1"
(replace
-14
3
rl)
(("1"
(assert )
nil )))
("2"
(copy
-17)
(("2"
(expand
"del_vert"
-1)
(("2"
(hide-all-but
(-1
-18
-20
-23
-24)
-)
(("2"
(hide
4)
(("2"
(case
"remove[T](v!1, vert(G!1))=vert(H!1)" )
(("1"
(case
"remove[T](v!1, vert(G!1))(v!2)=vert(H!1)(v!2)" )
(("1"
(hide
-2
-3)
(("1"
(expand
"remove"
-1)
(("1"
(expand
"member"
-1)
(("1"
(assert )
(("1"
(bddsimp)
(("1"
(assert )
nil )))))))))))
("2"
(hide-all-but
-1
-)
(("2"
(hide
2
3
4)
(("2"
(name
"gg"
"remove[T](v!1, vert(G!1))" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(hide
-1)
(("2"
(assert )
nil )))))))))))))))
("2"
(hide
-2
-3
-4
-5)
(("2"
(hide
2
3
4)
(("2"
(grind)
nil )))))))))))))))))))))
("2"
(copy
-16)
(("2"
(expand
"del_vert"
-1)
(("2"
(case
"remove[T](v!1, vert(G!1))=vert(H!1)" )
(("1"
(hide
-2)
(("1"
(case
"remove[T](v!1, vert(G!1))(v!2)=vert(H!1)(v!2)" )
(("1"
(hide
-2)
(("1"
(expand
"remove[T]"
-1)
(("1"
(bddsimp)
(("1"
(hide
-4
-5
-6
-7
-9
-10
-11
-12
-14
-15
-17
-19
-20
3
4)
(("1"
(expand
"deg"
-7
1)
(("1"
(expand
"deg"
1)
(("1"
(expand
"member"
-2)
(("1"
(hide
2)
(("1"
(expand
"del_vert"
-6)
(("1"
(lemma
"finite_sets[T].card_one" )
(("1"
(hide
-1)
(("1"
(lemma
"finite_sets[doubleton[T]].card_one" )
(("1"
(inst-cp
-1
"incident_edges(v!2, G!1)" )
(("1"
(inst
-1
"incident_edges(v!2, H!1)" )
(("1"
(bddsimp)
(("1"
(hide
-1
1)
(("1"
(skosimp*)
(("1"
(inst
1
"x!1" )
(("1"
(expand
"incident_edges" )
(("1"
(case
"j!1>0" )
(("1"
(case
"edges(H!1)=({e: doubleton[T] | edges(G!1)(e) AND NOT e(v!1)})" )
(("1"
(apply-extensionality
1)
(("1"
(hide
2)
(("1"
(case
" ({e: doubleton[T] | edges(G!1)(e) AND e(v!2)})(x!2)
= singleton(x!1)(x!2)")
(("1"
(beta
-1)
(("1"
(assert )
(("1"
(replace
-2
1)
(("1"
(beta
1)
(("1"
(hide
-2
-4
-9)
(("1"
(replace
-1
1
rl)
(("1"
(iff
1)
(("1"
(bddsimp)
(("1"
(reveal
-9
-10
-16)
(("1"
(expand
"deg"
-2)
(("1"
(reveal
-5)
(("1"
(inst
-1
"incident_edges(v!1, W!1)" )
(("1"
(bddsimp)
(("1"
(skosimp*)
(("1"
(expand
"incident_edges"
-2)
(("1"
(hide
-1)
(("1"
(expand
"del_vert"
-3)
(("1"
(case
"edges(W!1)=({e: doubleton[T] | edges(G!1)(e) AND NOT e(v!2)})" )
(("1"
(replace
-1
-2)
(("1"
(beta
-2)
(("1"
(case
" ({e: doubleton[T] | (edges(G!1)(e) AND NOT e(v!2)) AND e(v!1)})(x!3) = singleton(x!3)(x!3)" )
(("1"
(hide
-2
-3
-5)
(("1"
(beta
-1)
(("1"
(case
"singleton(x!3)(x!3)" )
(("1"
(iff
-2)
(("1"
(bddsimp)
(("1"
(expand
"deg"
-15)
(("1"
(reveal
-9)
(("1"
(inst
-1
"incident_edges(v!1, G!1)" )
(("1"
(bddsimp)
(("1"
(skosimp*)
(("1"
(expand
"incident_edges"
-2)
(("1"
(case
" ({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!2)
= singleton(x!4)(x!2)")
(("1"
(case
" ({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})(x!3)
= singleton(x!4)(x!3)")
(("1"
(hide
-4)
(("1"
(beta
-1)
(("1"
(beta
-2)
(("1"
(iff
-1)
(("1"
(iff
-2)
(("1"
(bddsimp)
(("1"
(hide
-1
-4
-7
-8
-9
-14
-15
-16
-17)
(("1"
(grind)
nil )))))))))))))))
("2"
(hide-all-but
-3
-)
(("2"
(name
"kkk"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil )))))))))))
("2"
(hide-all-but
-2
-)
(("2"
(name
"kkk"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!1)})" )
(("2"
(replace
-1
1)
(("2"
(replace
-1
-2)
(("2"
(grind)
nil )))))))))))))))))))))))))))
("2"
(hide-all-but
-7
-)
(("2"
(grind)
nil )))))))))
("2"
(hide-all-but
-2
-)
(("2"
(name
"ww"
"({e: doubleton[T] | (edges(G!1)(e) AND NOT e(v!2)) AND e(v!1)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil )))))))))))))))
("2"
(hide-all-but
-3
-)
(("2"
(grind)
nil )))))))))))))))))))))))))))))))))))))))
("2"
(hide-all-but
-3
-)
(("2"
(name
"mm"
"({e: doubleton[T] | edges(G!1)(e) AND e(v!2)})" )
(("2"
(replace
-1
-2)
(("2"
(replace
-1
1)
(("2"
(grind)
nil )))))))))))))))
("2"
(hide-all-but
--> --------------------
--> maximum size reached
--> --------------------
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.735Bemerkung:
(vorverarbeitet am 2026-05-01)
¤
*Bot Zugriff
2026-05-26