(csequence_prefix
(prefix?_TCC1 0
(prefix?_TCC1-1 nil 3513610469 ("" (subtype-tcc) nil nil) nil nil))
(prefix?_finite 0
(prefix?_finite-1 nil 3513610486
("" (induct "fseq" :name "is_finite_induction")
(("1" (assert) nil nil) ("2" (assert) nil nil)
("3" (skosimp*)
(("3" (expand "is_finite" +)
(("3" (expand "prefix?" -3)
(("3" (ground)
(("3" (inst - "rest(cseq!2)") (("3" (assert) nil nil))
nil))
nil))
nil))
nil))
nil))
nil)
((rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite_induction formula-decl nil csequence_props nil)
(T formal-type-decl nil csequence_prefix nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(is_finite inductive-decl "bool" csequence_props nil)
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
(bool nonempty-type-eq-decl nil booleans nil)
(boolean nonempty-type-decl nil booleans nil)
(csequence type-decl nil csequence_codt nil))
shostak))
(prefix?_infinite 0
(prefix?_infinite-1 nil 3513610568
("" (skolem!)
(("" (prop)
(("1" (lemma "coinduction")
(("1"
(inst -
"LAMBDA cseq1, cseq2: is_infinite(cseq1) AND prefix?(cseq1, cseq2)"
"iseq!1" "cseq!1")
(("1" (assert) nil nil)
("2" (delete -1 2)
(("2" (expand "bisimulation?")
(("2" (skosimp)
(("2" (expand "is_finite" 1)
(("2" (expand "prefix?" -) (("2" (ground) nil nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil)
("2" (lemma "prefix?_coinduction")
(("2" (inst - "LAMBDA cseq1, cseq2: cseq1 = cseq2")
(("2" (split)
(("1" (inst - "iseq!1" "cseq!1") (("1" (assert) nil nil))
nil)
("2" (skosimp) (("2" (assert) nil nil)) nil))
nil))
nil))
nil))
nil))
nil)
((prefix? coinductive-decl "bool" csequence_prefix nil)
(is_finite inductive-decl "bool" csequence_props nil)
(NOT const-decl "[bool -> bool]" booleans nil)
(AND const-decl "[bool, bool -> bool]" booleans nil)
(bisimulation? adt-def-decl "boolean" csequence_codt nil)
(PRED type-eq-decl nil defined_types nil)
(bool nonempty-type-eq-decl nil booleans nil)
(boolean nonempty-type-decl nil booleans nil)
(csequence type-decl nil csequence_codt nil)
(infinite_csequence type-eq-decl nil csequence_props nil)
(coinduction formula-decl nil csequence_codt nil)
(T formal-type-decl nil csequence_prefix nil)
(= const-decl "[T, T -> boolean]" equalities nil)
(prefix?_coinduction formula-decl nil csequence_prefix nil))
shostak))
(prefix?_empty 0
(prefix?_empty-1 nil 3513610684
("" (expand "prefix?") (("" (propax) nil nil)) nil)
((prefix? coinductive-decl "bool" csequence_prefix nil)) shostak))
(prefix?_empty_is_prefix 0
(prefix?_empty_is_prefix-1 nil 3513610693
("" (expand "prefix?") (("" (propax) nil nil)) nil)
((prefix? coinductive-decl "bool" csequence_prefix nil)) shostak))
(prefix?_first 0
(prefix?_first-1 nil 3513610699
("" (expand "prefix?") (("" (skosimp) nil nil)) nil)
((prefix? coinductive-decl "bool" csequence_prefix nil)) shostak))
(prefix?_rest 0
(prefix?_rest-1 nil 3513610708
("" (expand "prefix?" 1 1) (("" (skosimp) nil nil)) nil)
((prefix? coinductive-decl "bool" csequence_prefix nil)) shostak))
(prefix?_length 0
(prefix?_length-1 nil 3513610718
("" (induct "fseq2" :name "is_finite_induction")
(("1" (assert) nil nil) ("2" (assert) nil nil)
("3" (skosimp*)
(("3" (expand "prefix?" -3)
(("3" (expand "length" +)
(("3" (lift-if)
(("3" (lift-if)
(("3" (lift-if)
(("3" (ground)
(("3" (inst - "rest(fseq1!1)")
(("3" (assert) nil nil)) nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil)
((posint_plus_nnint_is_posint application-judgement "posint"
integers nil)
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(is_finite_induction formula-decl nil csequence_props nil)
(T formal-type-decl nil csequence_prefix nil)
(length def-decl "{n | has_length(fseq, n)}" csequence_length nil)
(has_length def-decl "bool" csequence_props 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)
(<= 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)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props nil)
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
(bool nonempty-type-eq-decl nil booleans nil)
(boolean nonempty-type-decl nil booleans nil)
(csequence type-decl nil csequence_codt nil))
shostak))
(prefix?_length_eq 0
(prefix?_length_eq-1 nil 3513610770
("" (induct "fseq2" :name "is_finite_induction")
(("1" (assert) nil nil) ("2" (assert) nil nil)
("3" (skosimp*)
(("3" (expand "prefix?" -3)
(("3" (expand "length" -4)
(("3" (lift-if)
(("3" (lift-if)
(("3" (lift-if)
(("3" (ground)
(("3" (inst - "rest(fseq1!1)")
(("3" (assert)
(("3"
(forward-chain "csequence_add_extensionality")
nil nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil)
((posint_plus_nnint_is_posint application-judgement "posint"
integers nil)
(csequence_add_extensionality formula-decl nil csequence_codt nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(is_finite_induction formula-decl nil csequence_props nil)
(T formal-type-decl nil csequence_prefix nil)
(length def-decl "{n | has_length(fseq, n)}" csequence_length nil)
(has_length def-decl "bool" csequence_props 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)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(AND const-decl "[bool, bool -> bool]" booleans nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props nil)
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
(bool nonempty-type-eq-decl nil booleans nil)
(boolean nonempty-type-decl nil booleans nil)
(csequence type-decl nil csequence_codt nil))
shostak))
(prefix?_index 0
(prefix?_index-1 nil 3513610806
("" (skosimp)
(("" (rewrite "index?_prop")
(("" (rewrite "index?_prop")
(("" (use "prefix?_finite")
(("" (ground)
(("" (forward-chain "prefix?_length")
(("" (assert) nil nil)) nil))
nil))
nil))
nil))
nil))
nil)
((index?_prop formula-decl nil csequence_nth nil)
(csequence type-decl nil csequence_codt nil)
(number nonempty-type-decl nil numbers nil)
(boolean nonempty-type-decl nil booleans 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)
(bool nonempty-type-eq-decl nil booleans nil)
(>= const-decl "bool" reals nil)
(nat nonempty-type-eq-decl nil naturalnumbers nil)
(T formal-type-decl nil csequence_prefix nil)
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil)
(prefix?_finite formula-decl nil csequence_prefix nil)
(is_finite inductive-decl "bool" csequence_props nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(prefix?_length formula-decl nil csequence_prefix nil)
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil))
shostak))
(prefix?_nth_TCC1 0
(prefix?_nth_TCC1-1 nil 3513610469
("" (skosimp :preds? t)
(("" (forward-chain "prefix?_index") nil nil)) nil)
((prefix?_index formula-decl nil csequence_prefix nil)
(boolean nonempty-type-decl nil booleans nil)
(bool nonempty-type-eq-decl nil booleans nil)
(NOT const-decl "[bool -> bool]" booleans nil)
(T formal-type-decl nil csequence_prefix nil)
(csequence type-decl nil csequence_codt 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)
(nat nonempty-type-eq-decl nil naturalnumbers nil)
(index? def-decl "bool" csequence_nth nil)
(indexes type-eq-decl nil csequence_nth nil))
nil))
(prefix?_nth 0
(prefix?_nth-1 nil 3513611221
("" (measure-induct+ "n" ("cseq1" "cseq2" "n") :skolem-typepreds? t)
(("1" (expand "prefix?" -3)
(("1" (expand "nth" +)
(("1" (lift-if)
(("1" (expand "index?")
(("1" (ground)
(("1" (inst - "rest(x!1)" "rest(x!2)" "x!3 - 1")
(("1" (assert) nil nil)) nil))
nil))
nil))
nil))
nil))
nil)
("2" (forward-chain "prefix?_index") nil nil)
("3" (typepred "x!1`3")
(("3" (forward-chain "prefix?_index") nil nil)) nil)
("4" (typepred "y!1`3")
(("4" (forward-chain "prefix?_index") nil nil)) nil)
("5" (forward-chain "prefix?_index") nil nil))
nil)
((prefix?_index formula-decl nil csequence_prefix nil)
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(numfield nonempty-type-eq-decl nil number_fields nil)
(- const-decl "[numfield, numfield -> numfield]" number_fields nil)
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil)
(int_minus_int_is_int application-judgement "int" integers nil)
(AND const-decl "[bool, bool -> bool]" booleans nil)
(nth def-decl "T" csequence_nth nil)
(= const-decl "[T, T -> boolean]" equalities nil)
(NOT const-decl "[bool -> bool]" booleans nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
(wf_nat formula-decl nil naturalnumbers nil)
(< const-decl "bool" reals nil)
(naturalnumber type-eq-decl nil naturalnumbers nil)
(indexes type-eq-decl nil csequence_nth nil)
(index? def-decl "bool" csequence_nth 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)
(csequence type-decl nil csequence_codt nil)
(T formal-type-decl nil csequence_prefix nil)
(measure_induction formula-decl nil measure_induction nil)
(well_founded? const-decl "bool" orders nil)
(pred type-eq-decl nil defined_types nil))
shostak))
(prefix?_concatenate 0
(prefix?_concatenate-1 nil 3513611353
("" (lemma "prefix?_coinduction")
((""
(inst - "LAMBDA cseq1, cseq2: EXISTS cseq: cseq2 = cseq1 o cseq")
(("" (split)
(("1" (skolem!)
(("1" (inst - "cseq1!1" "cseq1!1 o cseq2!1")
(("1" (assert) (("1" (inst + "cseq2!1") nil nil)) nil))
nil))
nil)
("2" (delete 2)
(("2" (skosimp*)
(("2" (replace -1)
(("2" (hide -1)
(("2" (use "o_empty")
(("2" (smash)
(("1" (inst + "cseq!1")
(("1" (rewrite "o_rest") nil nil)) nil)
("2" (rewrite "o_first") nil nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil)
((T formal-type-decl nil csequence_prefix nil)
(csequence type-decl nil csequence_codt nil)
(boolean nonempty-type-decl nil booleans nil)
(= const-decl "[T, T -> boolean]" equalities nil)
(O const-decl "csequence" csequence_concatenate nil)
(o_empty formula-decl nil csequence_concatenate nil)
(o_first formula-decl nil csequence_concatenate nil)
(o_rest formula-decl nil csequence_concatenate nil)
(prefix?_coinduction formula-decl nil csequence_prefix nil))
shostak))
(prefix?_def 0
(prefix?_def-1 nil 3513611419
("" (skolem!)
(("" (prop)
(("1" (case "is_finite(cseq1!1)")
(("1" (generalize-skolem-constants)
(("1" (induct "cseq1_1" :name "is_finite_induction")
(("1" (assert) nil nil)
("2" (skosimp*)
(("2" (expand "prefix?" -3)
(("2" (smash)
(("1" (inst + "cseq2!2")
(("1" (rewrite "o_empty_left") nil nil)) nil)
("2" (inst - "rest(cseq2!2)")
(("2" (assert)
(("2" (skolem!)
(("2" (forward-chain "o_first_rest")
(("2" (inst + "cseq!2") nil nil)) nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil)
("2" (rewrite "prefix?_infinite")
(("2" (inst + "empty_cseq")
(("2" (rewrite "o_empty_right") nil nil)) nil))
nil))
nil)
("2" (skolem!)
(("2" (use "prefix?_concatenate") (("2" (assert) nil nil))
nil))
nil))
nil))
nil)
((prefix?_infinite formula-decl nil csequence_prefix nil)
(NOT const-decl "[bool -> bool]" booleans nil)
(infinite_csequence type-eq-decl nil csequence_props nil)
(o_empty_right formula-decl nil csequence_concatenate nil)
(empty_cseq adt-constructor-decl "(empty?)" csequence_codt nil)
(O const-decl "csequence" csequence_concatenate nil)
(= const-decl "[T, T -> boolean]" equalities nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(AND const-decl "[bool, bool -> bool]" booleans nil)
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
(empty_csequence nonempty-type-eq-decl nil csequence_props nil)
(empty? adt-recognizer-decl "[csequence -> boolean]" csequence_codt
nil)
(o_empty_left formula-decl nil csequence_concatenate nil)
(nonempty_csequence type-eq-decl nil csequence_props nil)
(o_first_rest formula-decl nil csequence_concatenate nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(is_finite_induction formula-decl nil csequence_props nil)
(T formal-type-decl nil csequence_prefix nil)
(csequence type-decl nil csequence_codt nil)
(boolean nonempty-type-decl nil booleans nil)
(bool nonempty-type-eq-decl nil booleans nil)
(is_finite inductive-decl "bool" csequence_props nil)
(prefix?_concatenate formula-decl nil csequence_prefix nil))
shostak))
(prefix?_is_partial_order 0
(prefix?_is_partial_order-1 nil 3513610469
("" (expand* "partial_order?" "preorder?")
(("" (split)
(("1" (expand "reflexive?")
(("1" (skolem!)
(("1" (lemma "prefix?_concatenate")
(("1" (inst - "x!1" "empty_cseq")
(("1" (rewrite "o_empty_right") nil nil)) nil))
nil))
nil))
nil)
("2" (expand "transitive?")
(("2" (lemma "prefix?_coinduction")
(("2"
(inst -
"LAMBDA cseq1, cseq2: EXISTS cseq: prefix?(cseq1, cseq) AND prefix?(cseq, cseq2)")
(("2" (split)
(("1" (skosimp)
(("1" (inst - "x!1" "z!1")
(("1" (assert)
(("1" (inst + "y!1") (("1" (assert) nil nil)) nil))
nil))
nil))
nil)
("2" (delete 2)
(("2" (skosimp*)
(("2" (expand "prefix?" -)
(("2" (ground)
(("2" (inst + "rest(cseq!1)")
(("2" (assert) nil nil)) nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil)
("3" (expand "antisymmetric?")
(("3" (induct "x" :name "is_finite_induction")
(("1" (skosimp) (("1" (rewrite "prefix?_infinite") nil nil))
nil)
("2" (skosimp*)
(("2" (expand "prefix?" (-2 -3))
(("2" (ground)
(("2" (inst - "rest(y!1)")
(("2" (assert) (("2" (decompose-equality +) nil nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil)
((T formal-type-decl nil csequence_prefix nil)
(csequence type-decl nil csequence_codt nil)
(boolean nonempty-type-decl nil booleans nil)
(empty? adt-recognizer-decl "[csequence -> boolean]" csequence_codt
nil)
(empty_cseq adt-constructor-decl "(empty?)" csequence_codt nil)
(o_empty_right formula-decl nil csequence_concatenate nil)
(empty_csequence nonempty-type-eq-decl nil csequence_props nil)
(prefix?_concatenate formula-decl nil csequence_prefix nil)
(reflexive? const-decl "bool" relations nil)
(prefix?_coinduction formula-decl nil csequence_prefix nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(AND const-decl "[bool, bool -> bool]" booleans nil)
(bool nonempty-type-eq-decl nil booleans nil)
(transitive? const-decl "bool" relations nil)
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
(= const-decl "[T, T -> boolean]" equalities nil)
(is_finite_induction formula-decl nil csequence_props nil)
(infinite_csequence type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props nil)
(NOT const-decl "[bool -> bool]" booleans nil)
(prefix?_infinite formula-decl nil csequence_prefix nil)
(csequence_add_extensionality formula-decl nil csequence_codt nil)
(antisymmetric? const-decl "bool" relations nil)
(partial_order? const-decl "bool" orders nil)
(preorder? const-decl "bool" orders nil))
nil))
(prefix?_total_order 0
(prefix?_total_order-1 nil 3513611666
("" (skolem!)
(("" (expand* "total_order?" "dichotomous?" "restrict")
(("" (skosimp :preds? t)
(("" (lemma "prefix?_coinduction")
((""
(inst -
"LAMBDA cseq1, cseq2: NOT prefix?(cseq2, cseq1) AND (EXISTS cseq: prefix?(cseq1, cseq) AND prefix?(cseq2, cseq))")
(("" (split)
(("1" (inst - "x!1" "y!1")
(("1" (assert)
(("1" (inst + "cseq!1") (("1" (assert) nil nil))
nil))
nil))
nil)
("2" (delete -1 -2 2 3)
(("2" (skosimp*)
(("2" (use "prefix?_empty_is_prefix")
(("2" (expand "prefix?" (- 2))
(("2" (ground)
(("2" (inst + "rest(cseq!2)")
(("2" (assert) nil nil)) nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil)
((dichotomous? const-decl "bool" orders nil)
(restrict const-decl "R" restrict nil)
(partial_order_restrict application-judgement "(partial_order?[S])"
restrict_order_props nil)
(preorder_restrict application-judgement "(preorder?[S])"
restrict_order_props nil)
(transitive_restrict application-judgement "(transitive?[S])"
restrict_order_props nil)
(antisymmetric_restrict application-judgement "(antisymmetric?[S])"
restrict_order_props nil)
(reflexive_restrict application-judgement "(reflexive?[S])"
restrict_order_props nil)
(total_order? const-decl "bool" orders nil)
(prefix?_coinduction formula-decl nil csequence_prefix nil)
(prefix?_is_partial_order name-judgement
"(partial_order?[csequence])" csequence_prefix nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(empty_csequence nonempty-type-eq-decl nil csequence_props nil)
(empty? adt-recognizer-decl "[csequence -> boolean]" csequence_codt
nil)
(cseq2!1 skolem-const-decl "csequence[T]" csequence_prefix nil)
(prefix?_empty_is_prefix formula-decl nil csequence_prefix nil)
(AND const-decl "[bool, bool -> bool]" booleans nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(csequence type-decl nil csequence_codt nil)
(T formal-type-decl nil csequence_prefix nil)
(NOT const-decl "[bool -> bool]" booleans nil)
(bool nonempty-type-eq-decl nil booleans nil)
(boolean nonempty-type-decl nil booleans nil))
shostak))
(prefix_TCC1 0
(prefix_TCC1-1 nil 3513610469
("" (expand* "prefix?" "is_finite") nil nil)
((prefix? coinductive-decl "bool" csequence_prefix nil)) nil))
(prefix_TCC2 0
(prefix_TCC2-1 nil 3513610469 ("" (subtype-tcc) nil nil)
((boolean nonempty-type-decl nil booleans nil)
(bool nonempty-type-eq-decl nil booleans nil)
(NOT const-decl "[bool -> bool]" booleans 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)
(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)
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil))
nil))
(prefix_TCC3 0
(prefix_TCC3-1 nil 3513610469 ("" (subtype-tcc) nil nil)
((boolean nonempty-type-decl nil booleans nil)
(bool nonempty-type-eq-decl nil booleans nil)
(NOT const-decl "[bool -> bool]" booleans 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)
(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)
(int_minus_int_is_int application-judgement "int" integers nil)
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil))
nil))
(prefix_TCC4 0
(prefix_TCC4-1 nil 3513610469 ("" (termination-tcc) nil nil) nil
nil))
(prefix_TCC5 0
(prefix_TCC5-1 nil 3513610469
("" (skosimp) (("" (expand "prefix?") (("" (ground) nil nil)) nil))
nil)
((prefix? coinductive-decl "bool" csequence_prefix nil)
(prefix?_is_partial_order name-judgement
"(partial_order?[csequence])" csequence_prefix nil)
(int_minus_int_is_int application-judgement "int" integers nil))
nil))
(prefix_0 0
(prefix_0-1 nil 3513618454
("" (expand "prefix") (("" (propax) nil nil)) nil)
((prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil))
shostak))
(prefix_extract 0
(prefix_extract-1 nil 3513618476
("" (induct "n")
(("1" (expand* "prefix" "prefix" "^") nil nil)
("2" (skosimp*)
(("2" (expand "prefix" +)
(("2" (expand "^" +)
(("2" (lift-if)
(("2" (ground)
(("2" (decompose-equality)
(("2" (inst - "rest(cseq!1)") nil nil)) nil))
nil))
nil))
nil))
nil))
nil))
nil)
((add_finite application-judgement "nonempty_finite_csequence[T]"
csequence_prefix nil)
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(csequence_add_extensionality formula-decl nil csequence_codt nil)
(add adt-constructor-decl "[[T, csequence] -> (nonempty?)]"
csequence_codt nil)
(first adt-accessor-decl "[(nonempty?) -> T]" csequence_codt nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(nat_induction formula-decl nil naturalnumbers nil)
(^ def-decl "finite_csequence" csequence_extract nil)
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
(numfield nonempty-type-eq-decl nil number_fields nil)
(prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props nil)
(= const-decl "[T, T -> boolean]" equalities nil)
(csequence type-decl nil csequence_codt nil)
(T formal-type-decl nil csequence_prefix 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)
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil))
shostak))
(prefix_rest_TCC1 0
(prefix_rest_TCC1-1 nil 3513610469
("" (expand "prefix") (("" (propax) nil nil)) nil)
((prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil))
nil))
(prefix_rest 0
(prefix_rest-1 nil 3513618549
("" (induct "n")
(("1" (expand* "prefix" "prefix") nil nil)
("2" (skosimp*)
(("2" (expand "prefix" +)
(("2" (expand "prefix" 1 2) (("2" (propax) nil nil)) nil))
nil))
nil)
("3" (skolem!)
(("3" (use "prefix_rest_TCC1") (("3" (assert) nil nil)) nil))
nil))
nil)
((int_plus_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)
(int_minus_int_is_int application-judgement "int" integers nil)
(- const-decl "[numfield, numfield -> numfield]" number_fields nil)
(prefix_rest_TCC1 subtype-tcc nil csequence_prefix nil)
(nat_induction formula-decl nil naturalnumbers nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(= const-decl "[T, T -> boolean]" equalities nil)
(pred type-eq-decl nil defined_types nil)
(number nonempty-type-decl nil numbers nil)
(boolean nonempty-type-decl nil booleans 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)
(bool nonempty-type-eq-decl nil booleans nil)
(>= const-decl "bool" reals nil)
(nat nonempty-type-eq-decl nil naturalnumbers nil)
(T formal-type-decl nil csequence_prefix nil)
(csequence type-decl nil csequence_codt nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(nonempty_csequence type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil)
(numfield nonempty-type-eq-decl nil number_fields nil)
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil))
shostak))
(prefix_prefix 0
(prefix_prefix-1 nil 3513618584
("" (induct "n")
(("1" (expand* "min" "prefix") nil nil)
("2" (skosimp*)
(("2" (expand "prefix" +)
(("2" (expand "min") (("2" (reduce) nil nil)) nil)) nil))
nil))
nil)
((real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil)
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil)
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil)
(numfield nonempty-type-eq-decl nil number_fields nil)
(- const-decl "[numfield, numfield -> numfield]" number_fields nil)
(m!1 skolem-const-decl "nat" csequence_prefix nil)
(add_finite application-judgement "nonempty_finite_csequence[T]"
csequence_prefix nil)
(int_minus_int_is_int application-judgement "int" integers nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(cseq!1 skolem-const-decl "csequence[T]" csequence_prefix nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(nat_induction formula-decl nil naturalnumbers nil)
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil)
(<= const-decl "bool" reals nil)
(AND const-decl "[bool, bool -> bool]" booleans nil)
(prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props nil)
(= const-decl "[T, T -> boolean]" equalities nil)
(csequence type-decl nil csequence_codt nil)
(T formal-type-decl nil csequence_prefix 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)
(nat_min application-judgement "{k: nat | k <= i AND k <= j}"
real_defs nil))
shostak))
(prefix_length 0
(prefix_length-1 nil 3513618618
("" (induct "n")
(("1" (skolem!)
(("1" (expand* "min" "prefix")
(("1" (expand "length" 1 1)
(("1" (lift-if) (("1" (ground) nil nil)) nil)) nil))
nil))
nil)
("2" (skosimp*)
(("2" (expand "prefix" +)
(("2" (expand "length" +)
(("2" (expand "is_finite" +)
(("2" (expand "min") (("2" (reduce) nil nil)) nil)) nil))
nil))
nil))
nil))
nil)
((posint_plus_nnint_is_posint application-judgement "posint"
integers nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(cseq!1 skolem-const-decl "csequence[T]" csequence_prefix nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil)
(nat_induction formula-decl nil naturalnumbers nil)
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil)
(<= const-decl "bool" reals nil)
(AND const-decl "[bool, bool -> bool]" booleans nil)
(IF const-decl "[boolean, T, T -> T]" if_def nil)
(prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(length def-decl "{n | has_length(fseq, n)}" csequence_length nil)
(has_length def-decl "bool" csequence_props nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props nil)
(= const-decl "[T, T -> boolean]" equalities nil)
(csequence type-decl nil csequence_codt nil)
(T formal-type-decl nil csequence_prefix 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))
shostak))
(prefix_index 0
(prefix_index-1 nil 3513618684
("" (induct "m")
(("1" (skolem!)
(("1" (expand* "index?" "prefix") (("1" (ground) nil nil)) nil))
nil)
("2" (skosimp*)
(("2" (expand "prefix" +)
(("2" (expand "index?" +) (("2" (reduce) nil nil)) nil)) nil))
nil))
nil)
((real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil)
(numfield nonempty-type-eq-decl nil number_fields nil)
(- const-decl "[numfield, numfield -> numfield]" number_fields nil)
(n!1 skolem-const-decl "nat" csequence_prefix nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil)
(add_finite application-judgement "nonempty_finite_csequence[T]"
csequence_prefix 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)
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil)
(nat_induction formula-decl nil naturalnumbers nil)
(< const-decl "bool" reals nil)
(AND const-decl "[bool, bool -> bool]" booleans nil)
(prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props nil)
(index? def-decl "bool" csequence_nth nil)
(IFF const-decl "[bool, bool -> bool]" booleans nil)
(csequence type-decl nil csequence_codt nil)
(T formal-type-decl nil csequence_prefix 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))
shostak))
(prefix_full 0
(prefix_full-1 nil 3513618722
("" (induct "n")
(("1" (skosimp)
(("1" (expand* "prefix" "index?") (("1" (assert) nil nil)) nil))
nil)
("2" (skosimp*)
(("2" (expand "index?" +)
(("2" (expand "prefix" +) (("2" (reduce-with-ext) nil nil))
nil))
nil))
nil))
nil)
((cseq!1 skolem-const-decl "csequence[T]" csequence_prefix nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(csequence_add_extensionality formula-decl nil csequence_codt nil)
(add adt-constructor-decl "[[T, csequence] -> (nonempty?)]"
csequence_codt nil)
(first adt-accessor-decl "[(nonempty?) -> T]" csequence_codt nil)
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil)
(nat_induction formula-decl nil naturalnumbers nil)
(prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props nil)
(= const-decl "[T, T -> boolean]" equalities nil)
(index? def-decl "bool" csequence_nth nil)
(OR const-decl "[bool, bool -> bool]" booleans nil)
(csequence type-decl nil csequence_codt nil)
(T formal-type-decl nil csequence_prefix 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))
shostak))
(prefix_concatenate_TCC1 0
(prefix_concatenate_TCC1-1 nil 3513610469
("" (skosimp) (("" (use "index?_ub") (("" (assert) nil nil)) nil))
nil)
((index?_ub formula-decl nil csequence_nth nil)
(T formal-type-decl nil csequence_prefix 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)
(csequence type-decl nil csequence_codt nil))
nil))
(prefix_concatenate_TCC2 0
(prefix_concatenate_TCC2-1 nil 3513610469
("" (skosimp)
(("" (rewrite "index?_prop") (("" (ground) nil nil)) nil)) nil)
((index?_prop formula-decl nil csequence_nth nil)
(csequence type-decl nil csequence_codt nil)
(number nonempty-type-decl nil numbers nil)
(boolean nonempty-type-decl nil booleans 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)
(bool nonempty-type-eq-decl nil booleans nil)
(>= const-decl "bool" reals nil)
(nat nonempty-type-eq-decl nil naturalnumbers nil)
(T formal-type-decl nil csequence_prefix nil)
(real_lt_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)
(int_minus_int_is_int application-judgement "int" integers nil))
nil))
(prefix_concatenate 0
(prefix_concatenate-1 nil 3513618801
("" (induct "n")
(("1" (skolem!)
(("1" (lift-if)
(("1" (ground)
(("1" (expand "prefix") (("1" (propax) nil nil)) nil)
("2" (expand "index?")
(("2" (use "length_empty?_rew")
(("2" (ground)
(("2" (expand "prefix")
(("2" (rewrite "o_empty_right")
(("2" (assert) nil nil)) nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil)
("2" (skosimp*)
(("2" (expand "prefix" +)
(("2" (expand "index?" +)
(("2" (expand "length" +)
(("2" (auto-rewrite "o_empty_left")
(("2" (auto-rewrite "o_empty_right")
(("2" (auto-rewrite "o_first")
(("2" (auto-rewrite "o_rest")
(("2" (smash)
(("1" (use "o_nonempty_left")
(("1" (assert) nil nil)) nil)
("2" (use "o_nonempty_left")
(("2" (assert) nil nil)) nil)
("3" (use "o_nonempty_right")
(("3" (assert) nil nil)) nil)
("4" (decompose-equality)
(("4" (inst - "rest(cseq1!1)" "cseq2!1")
(("4" (assert) nil nil)) nil))
nil)
("5" (use "index?_prop")
(("5" (assert)
(("5" (decompose-equality)
(("5" (inst - "rest(cseq1!1)" "cseq2!1")
(("5"
(assert)
(("5"
(expand "prefix" -2 2)
(("5" (assert) nil nil))
nil))
nil))
nil))
nil))
nil))
nil)
("6" (decompose-equality)
(("6" (inst - "rest(cseq1!1)" "cseq2!1")
(("6" (assert)
(("6" (expand "prefix" -1 2)
(("6" (assert) nil nil)) nil))
nil))
nil))
nil)
("7" (use "index?_prop")
(("7" (ground)
(("7" (decompose-equality 7)
(("7" (inst - "rest(cseq1!1)" "cseq2!1")
(("7"
(assert)
(("7"
(expand "prefix" -2 2)
(("7" (propax) nil nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil)
("3" (skosimp)
(("3" (use "prefix_concatenate_TCC2") (("3" (assert) nil nil))
nil))
nil)
("4" (skosimp)
(("4" (use "prefix_concatenate_TCC1") (("4" (assert) nil nil))
nil))
nil))
nil)
((prefix_concatenate_TCC1 subtype-tcc nil csequence_prefix nil)
(prefix_concatenate_TCC2 subtype-tcc nil csequence_prefix nil)
(add_finite application-judgement "nonempty_finite_csequence[T]"
csequence_prefix nil)
(o_empty_left formula-decl nil csequence_concatenate nil)
(int_plus_int_is_int application-judgement "int" integers nil)
(odd_minus_even_is_odd application-judgement "odd_int" integers
nil)
(o_rest formula-decl nil csequence_concatenate nil)
(o_first formula-decl nil csequence_concatenate nil)
(o_nonempty_right application-judgement "nonempty_csequence[T]"
csequence_prefix nil)
(nonempty_csequence type-eq-decl nil csequence_props nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(o_nonempty_left judgement-tcc nil csequence_concatenate nil)
(o_nonempty_right judgement-tcc nil csequence_concatenate nil)
(csequence_add_extensionality formula-decl nil csequence_codt nil)
(add adt-constructor-decl "[[T, csequence] -> (nonempty?)]"
csequence_codt nil)
(first adt-accessor-decl "[(nonempty?) -> T]" csequence_codt nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil)
(index?_prop formula-decl nil csequence_nth nil)
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil)
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil)
(length_empty?_rew formula-decl nil csequence_length nil)
(mult_divides1 application-judgement "(divides(n))" divides nil)
(mult_divides2 application-judgement "(divides(m))" divides nil)
(o_empty_right formula-decl nil csequence_concatenate nil)
(empty? adt-recognizer-decl "[csequence -> boolean]" csequence_codt
nil)
(empty_csequence nonempty-type-eq-decl nil csequence_props nil)
(empty_cseq adt-constructor-decl "(empty?)" csequence_codt nil)
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil)
(nat_induction formula-decl nil naturalnumbers nil)
(IF const-decl "[boolean, T, T -> T]" if_def nil)
(O const-decl "csequence" csequence_concatenate nil)
(prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(= const-decl "[T, T -> boolean]" equalities nil)
(pred type-eq-decl nil defined_types nil)
(numfield nonempty-type-eq-decl nil number_fields nil)
(- const-decl "[numfield, numfield -> numfield]" number_fields nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(has_length def-decl "bool" csequence_props nil)
(length def-decl "{n | has_length(fseq, n)}" csequence_length nil)
(number nonempty-type-decl nil numbers nil)
(boolean nonempty-type-decl nil booleans 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)
(bool nonempty-type-eq-decl nil booleans nil)
(>= const-decl "bool" reals nil)
(nat nonempty-type-eq-decl nil naturalnumbers nil)
(T formal-type-decl nil csequence_prefix nil)
(csequence type-decl nil csequence_codt nil)
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
(NOT const-decl "[bool -> bool]" booleans nil)
(index? def-decl "bool" csequence_nth nil)
(is_finite inductive-decl "bool" csequence_props nil)
(int_minus_int_is_int application-judgement "int" integers nil))
shostak))
(prefix?_prefix 0
(prefix?_prefix-1 nil 3513619682
("" (induct "cseq1" :name "is_finite_induction")
(("1" (skolem!)
(("1" (rewrite "prefix?_infinite")
(("1" (prop)
(("1" (skolem!)
(("1" (use "prefix?_infinite") (("1" (assert) nil nil))
nil))
nil))
nil))
nil))
nil)
("2" (skosimp*)
(("2" (expand "prefix?" +)
(("2" (smash)
(("1" (inst + 0)
(("1" (expand "prefix") (("1" (assert) nil nil)) nil)) nil)
("2" (inst - "rest(cseq2!1)")
(("2" (ground)
(("1" (forward-chain "csequence_add_extensionality") nil
nil)
("2" (skolem!)
(("2" (inst + "1 + n!1")
(("2" (expand "prefix" +)
(("2" (decompose-equality 2) nil nil)) nil))
nil))
nil))
nil))
nil)
("3" (inst - "rest(cseq2!1)") (("3" (assert) nil nil)) nil)
("4" (skolem!)
(("4" (inst - "rest(cseq2!1)")
(("4" (ground)
(("4" (expand "prefix" -)
(("4" (lift-if)
(("4" (ground)
(("4" (inst + "n!1 - 1")
(("4" (decompose-equality) nil nil)) nil))
nil))
nil))
nil))
nil))
nil))
nil)
("5" (skolem!)
(("5" (expand "prefix" -3)
(("5" (reduce-with-ext) nil nil)) nil))
nil)
("6" (expand "prefix" -3) (("6" (propax) nil nil)) nil))
nil))
nil))
nil))
nil)
((prefix?_is_partial_order name-judgement
"(partial_order?[csequence])" csequence_prefix nil)
(csequence_add_extensionality formula-decl nil csequence_codt nil)
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil)
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
(numfield nonempty-type-eq-decl nil number_fields nil)
(add adt-constructor-decl "[[T, csequence] -> (nonempty?)]"
csequence_codt nil)
(first adt-accessor-decl "[(nonempty?) -> T]" csequence_codt nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(add_finite application-judgement "nonempty_finite_csequence[T]"
csequence_prefix nil)
(int_minus_int_is_int application-judgement "int" integers nil)
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
(AND const-decl "[bool, bool -> bool]" booleans nil)
(- const-decl "[numfield, numfield -> numfield]" number_fields nil)
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil)
(cseq1!1 skolem-const-decl "csequence[T]" csequence_prefix nil)
(prefix?_infinite formula-decl nil csequence_prefix nil)
(NOT const-decl "[bool -> bool]" booleans nil)
(infinite_csequence type-eq-decl nil csequence_props nil)
(is_finite_induction formula-decl nil csequence_props nil)
(T formal-type-decl nil csequence_prefix nil)
(prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props 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)
(= const-decl "[T, T -> boolean]" equalities nil)
(OR const-decl "[bool, bool -> bool]" booleans nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(IFF const-decl "[bool, bool -> bool]" booleans nil)
(bool nonempty-type-eq-decl nil booleans nil)
(boolean nonempty-type-decl nil booleans nil)
(csequence type-decl nil csequence_codt nil))
shostak))
(prefix_some 0
(prefix_some-1 nil 3513619842
("" (skolem!)
(("" (use "nth_some")
(("" (prop)
(("1" (skolem-typepred)
(("1" (rewrite "prefix_index")
(("1" (flatten)
(("1" (inst + "i!1")
(("1" (assert)
(("1" (use "prefix?_nth") (("1" (assert) nil nil))
nil))
nil))
nil))
nil))
nil))
nil)
("2" (skosimp :preds? t)
(("2" (inst + "i!1")
(("1" (lemma "prefix?_nth")
(("1" (inst - "prefix(cseq!1, n!1)" "cseq!1" "i!1")
(("1" (assert) nil nil)) nil))
nil)
("2" (rewrite "prefix_index") nil nil))
nil))
nil))
nil))
nil))
nil)
((nth_some formula-decl nil csequence_nth nil)
(T formal-type-decl nil csequence_prefix nil)
(pred type-eq-decl nil defined_types nil)
(prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props 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)
(csequence type-decl nil csequence_codt nil)
(i!1 skolem-const-decl "indexes[T](cseq!1)" csequence_prefix nil)
(NOT const-decl "[bool -> bool]" booleans nil)
(index? def-decl "bool" csequence_nth nil)
(indexes type-eq-decl nil csequence_nth nil)
(prefix?_is_partial_order name-judgement
"(partial_order?[csequence])" csequence_prefix nil)
(prefix?_nth formula-decl nil csequence_prefix nil)
(i!1 skolem-const-decl "indexes[T](prefix(cseq!1, n!1))"
csequence_prefix nil)
(n!1 skolem-const-decl "nat" csequence_prefix nil)
(cseq!1 skolem-const-decl "csequence[T]" csequence_prefix nil)
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil)
(prefix_index formula-decl nil csequence_prefix nil))
shostak))
(prefix_every 0
(prefix_every-1 nil 3513619907
("" (skolem!)
(("" (use "nth_every")
(("" (prop)
(("1" (skosimp :preds? t)
(("1" (inst - "i!1")
(("1" (lemma "prefix?_nth")
(("1" (inst - "prefix(cseq!1, n!1)" "cseq!1" "i!1")
(("1" (assert) nil nil)) nil))
nil)
("2" (rewrite "prefix_index") nil nil))
nil))
nil)
("2" (skolem-typepred)
(("2" (rewrite "prefix_index")
(("2" (flatten)
(("2" (inst - "i!1")
(("2" (assert)
(("2" (use "prefix?_nth") (("2" (assert) nil nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil))
nil)
((nth_every formula-decl nil csequence_nth nil)
(T formal-type-decl nil csequence_prefix nil)
(pred type-eq-decl nil defined_types nil)
(prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props 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)
(csequence type-decl nil csequence_codt nil)
(i!1 skolem-const-decl "indexes[T](prefix(cseq!1, n!1))"
csequence_prefix nil)
(NOT const-decl "[bool -> bool]" booleans nil)
(index? def-decl "bool" csequence_nth nil)
(indexes type-eq-decl nil csequence_nth nil)
(prefix_index formula-decl nil csequence_prefix nil)
(prefix?_nth formula-decl nil csequence_prefix nil)
(prefix?_is_partial_order name-judgement
"(partial_order?[csequence])" csequence_prefix nil)
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil)
(cseq!1 skolem-const-decl "csequence[T]" csequence_prefix nil)
(n!1 skolem-const-decl "nat" csequence_prefix nil)
(i!1 skolem-const-decl "indexes[T](cseq!1)" csequence_prefix nil))
shostak))
(prefix?_order 0
(prefix?_order-1 nil 3513619962
("" (induct "m")
(("1" (skosimp)
(("1" (expand* "prefix" "prefix?") (("1" (assert) nil nil)) nil))
nil)
("2" (skosimp*)
(("2" (expand "prefix" +)
(("2" (expand "prefix?" +) (("2" (reduce) nil nil)) nil)) nil))
nil))
nil)
((nnint_plus_posint_is_posint application-judgement "posint"
integers nil)
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil)
(int_minus_int_is_int application-judgement "int" integers nil)
(nonempty? adt-recognizer-decl "[csequence -> boolean]"
csequence_codt nil)
(cseq!1 skolem-const-decl "csequence[T]" csequence_prefix nil)
(numfield nonempty-type-eq-decl nil number_fields nil)
(- const-decl "[numfield, numfield -> numfield]" number_fields nil)
(n!1 skolem-const-decl "nat" csequence_prefix nil)
(rest adt-accessor-decl "[(nonempty?) -> csequence]" csequence_codt
nil)
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil)
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil)
(nat_induction formula-decl nil naturalnumbers nil)
(prefix def-decl "{fseq | prefix?(fseq, cseq)}" csequence_prefix
nil)
(finite_csequence nonempty-type-eq-decl nil csequence_props nil)
(is_finite inductive-decl "bool" csequence_props nil)
(prefix? coinductive-decl "bool" csequence_prefix nil)
(<= const-decl "bool" reals nil)
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
(csequence type-decl nil csequence_codt nil)
(T formal-type-decl nil csequence_prefix 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))
shostak)))
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.144Angebot
Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können
¤
|
schauen Sie vor die Tür
Fenster
Die Firma ist wie angegeben erreichbar.
Entwicklung einer Software für die statische Quellcodeanalyse
|