(StackInterface)
(StackMethod_Id)
(StackMethodPredicateLifting)
(StackMethodInvariantRewrite
 (inv_true 0
  (inv_true-1 nil 3267980204 3267981309 ("1" (grind)) proved-complete
   ((push_Pred const-decl "Stack_Method_PredType"
     StackMethodPredicateLifting nil)
    (pop_Pred const-decl "Stack_Method_PredType"
     StackMethodPredicateLifting nil)
    (T formal-type-decl nil StackMethodInvariantRewrite nil)
    (Self formal-type-decl nil StackMethodInvariantRewrite nil)
    (Stack_MethodPred const-decl
     "[list[StackMethod_Id] -> Stack_Method_PredType]"
     StackMethodPredicateLifting nil)
    (method_invariant? const-decl "[[Self -> bool] -> bool]"
     StackMethodPredicateLifting nil))
   92 90 nil nil)))
(StackMethodInvariantInherit)
(StackBox)
(StackBoxInherit)
(StackBisimilarity)
(StackBisimilarityRewrite
 (bibisim_push 0
  (bibisim_push-1 nil 3267981332 3267981334 ("" (grind) nil nil)
   unfinished
   ((boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (T formal-type-decl nil StackBisimilarityRewrite nil)
    (Self2 formal-type-decl nil StackBisimilarityRewrite nil)
    (Self1 formal-type-decl nil StackBisimilarityRewrite nil)
    (Stack_Rel const-decl
     "[[[Self1, Self2] -> bool] -> [[Self1, Self2] -> bool]]"
     StackBisimilarity nil)
    (bisimulation? const-decl "[[[Self1, Self2] -> bool] -> bool]"
     StackBisimilarity nil)
    (bisim? const-decl "[[Self1, Self2] -> bool]" StackBisimilarity
     nil))
   1931 340 t shostak))
 (bibisim_top 0
  (bibisim_top-1 nil 3267981325 3267981327 ("" (grind) nil nil)
   unfinished
   ((T formal-type-decl nil StackBisimilarityRewrite nil)
    (Self2 formal-type-decl nil StackBisimilarityRewrite nil)
    (Self1 formal-type-decl nil StackBisimilarityRewrite nil)
    (Stack_Rel const-decl
     "[[[Self1, Self2] -> bool] -> [[Self1, Self2] -> bool]]"
     StackBisimilarity nil)
    (bisimulation? const-decl "[[[Self1, Self2] -> bool] -> bool]"
     StackBisimilarity nil)
    (bisim? const-decl "[[Self1, Self2] -> bool]" StackBisimilarity
     nil))
   1839 260 t shostak))
 (bibisim_pop 0
  (bibisim_pop-1 nil 3267981319 3267981321 ("" (grind) nil nil)
   unfinished
   ((boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (T formal-type-decl nil StackBisimilarityRewrite nil)
    (Self2 formal-type-decl nil StackBisimilarityRewrite nil)
    (Self1 formal-type-decl nil StackBisimilarityRewrite nil)
    (Stack_Rel const-decl
     "[[[Self1, Self2] -> bool] -> [[Self1, Self2] -> bool]]"
     StackBisimilarity nil)
    (bisimulation? const-decl "[[[Self1, Self2] -> bool] -> bool]"
     StackBisimilarity nil)
    (bisim? const-decl "[[Self1, Self2] -> bool]" StackBisimilarity
     nil))
   1878 320 t shostak)))
(StackPublicBisimilarityRewrite)
(StackBisimilarityEquivalence)
(StackBisimilarityEqRewrite
 (eq_bisim 0
  (eq_bisim-1 nil 3268153715 3268153722 ("" (grind) nil nil)
   proved-complete
   ((T formal-type-decl nil StackBisimilarityEqRewrite nil)
    (Self formal-type-decl nil StackBisimilarityEqRewrite nil)
    (bisimulation? const-decl "[[[Self, Self] -> bool] -> bool]"
     StackBisimilarityEquivalence nil)
    (Stack_Rel const-decl
     "[[[Self1, Self2] -> bool] -> [[Self1, Self2] -> bool]]"
     StackBisimilarity nil)
    (bisimulation? const-decl "[[[Self1, Self2] -> bool] -> bool]"
     StackBisimilarity nil))
   7427 490 t shostak))
 (bisim_push 0
  (bisim_push-1 nil 3267981343 3267981344 ("" (grind) nil nil)
   proved-complete
   ((boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (T formal-type-decl nil StackBisimilarityEqRewrite nil)
    (Self formal-type-decl nil StackBisimilarityEqRewrite nil)
    (bisim? const-decl "[[Self, Self] -> bool]"
     StackBisimilarityEquivalence nil)
    (Stack_Rel const-decl
     "[[[Self1, Self2] -> bool] -> [[Self1, Self2] -> bool]]"
     StackBisimilarity nil)
    (bisimulation? const-decl "[[[Self1, Self2] -> bool] -> bool]"
     StackBisimilarity nil)
    (bisim? const-decl "[[Self1, Self2] -> bool]" StackBisimilarity
     nil))
   1657 320 t shostak))
 (bisim_top 0
  (bisim_top-1 nil 3267981347 3267981348 ("" (grind) nil nil)
   proved-complete
   ((T formal-type-decl nil StackBisimilarityEqRewrite nil)
    (Self formal-type-decl nil StackBisimilarityEqRewrite nil)
    (bisim? const-decl "[[Self, Self] -> bool]"
     StackBisimilarityEquivalence nil)
    (Stack_Rel const-decl
     "[[[Self1, Self2] -> bool] -> [[Self1, Self2] -> bool]]"
     StackBisimilarity nil)
    (bisimulation? const-decl "[[[Self1, Self2] -> bool] -> bool]"
     StackBisimilarity nil)
    (bisim? const-decl "[[Self1, Self2] -> bool]" StackBisimilarity
     nil))
   1769 270 t shostak))
 (bisim_pop 0
  (bisim_pop-1 nil 3267981351 3267981353 ("" (grind) nil nil)
   proved-complete
   ((boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (T formal-type-decl nil StackBisimilarityEqRewrite nil)
    (Self formal-type-decl nil StackBisimilarityEqRewrite nil)
    (bisim? const-decl "[[Self, Self] -> bool]"
     StackBisimilarityEquivalence nil)
    (Stack_Rel const-decl
     "[[[Self1, Self2] -> bool] -> [[Self1, Self2] -> bool]]"
     StackBisimilarity nil)
    (bisimulation? const-decl "[[[Self1, Self2] -> bool] -> bool]"
     StackBisimilarity nil)
    (bisim? const-decl "[[Self1, Self2] -> bool]" StackBisimilarity
     nil))
   1816 300 t shostak)))
(StackPublicBisimilarityEqRewrite)
(StackMorphism)
(StackMorphismRewrite
 (push_morphism 0
  (push_morphism-1 nil 3278852748 3278852749 ("" (grind) nil nil)
   proved
   ((T formal-type-decl nil StackMorphismRewrite nil)
    (Self2 formal-type-decl nil StackMorphismRewrite nil)
    (Self1 formal-type-decl nil StackMorphismRewrite nil)
    (StackMorphism? const-decl "[[Self1 -> Self2] -> bool]"
     StackMorphism nil))
   1631 470 t shostak))
 (top_morphism 0
  (top_morphism-1 nil 3278852743 3278852745 ("" (grind) nil nil) proved
   ((T formal-type-decl nil StackMorphismRewrite nil)
    (Self2 formal-type-decl nil StackMorphismRewrite nil)
    (Self1 formal-type-decl nil StackMorphismRewrite nil)
    (StackMorphism? const-decl "[[Self1 -> Self2] -> bool]"
     StackMorphism nil))
   1537 450 t shostak))
 (pop_morphism 0
  (pop_morphism-1 nil 3278852738 3278852739 ("" (grind) nil nil) proved
   ((T formal-type-decl nil StackMorphismRewrite nil)
    (Self2 formal-type-decl nil StackMorphismRewrite nil)
    (Self1 formal-type-decl nil StackMorphismRewrite nil)
    (StackMorphism? const-decl "[[Self1 -> Self2] -> bool]"
     StackMorphism nil))
   1751 630 t shostak)))
(StackSemantics)
(StackBasic
 (top_push 0
  (top_push-1 nil 3267980204 3267981309
   ("1" (skolem!)
    (("1" (case "StackAssert?(c!1)")
      (("1" (assert)
        (("1" (expand "StackAssert?")
          (("1" (flatten -)
            (("1" (hide-all-but (-1 1))
              (("1" (inst -1 "s!1")
                (("1" (flatten -)
                  (("1" (hide-all-but (-1 1))
                    (("1" (expand "top_push?")
                      (("1" (inst?) (("1" (assert))))))))))))))))))))
       ("2" (assert)))))
    nil)
   proved-complete
   ((StackAssert? const-decl "bool" StackSemantics nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (boolean nonempty-type-decl nil booleans nil)
    (StackSignature type-eq-decl nil StackInterface nil)
    (lift type-decl nil lift_adt nil)
    (T formal-type-decl nil StackBasic nil)
    (Self formal-type-decl nil StackBasic nil)
    (top_push? const-decl "[Self -> bool]" StackSemantics nil))
   59 40 nil nil))
 (pop_push 0
  (pop_push-1 nil 3267980204 3267981309
   ("1" (skolem!)
    (("1" (case "StackAssert?(c!1)")
      (("1" (assert)
        (("1" (expand "StackAssert?")
          (("1" (flatten -)
            (("1" (hide-all-but (-1 1))
              (("1" (inst -1 "s!1")
                (("1" (flatten -)
                  (("1" (hide-all-but (-2 1))
                    (("1" (expand "pop_push?")
                      (("1" (inst?) (("1" (assert))))))))))))))))))))
       ("2" (assert)))))
    nil)
   proved-complete
   ((StackAssert? const-decl "bool" StackSemantics nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (boolean nonempty-type-decl nil booleans nil)
    (StackSignature type-eq-decl nil StackInterface nil)
    (lift type-decl nil lift_adt nil)
    (T formal-type-decl nil StackBasic nil)
    (Self formal-type-decl nil StackBasic nil)
    (pop_push? const-decl "[Self -> bool]" StackSemantics nil))
   32 30 nil nil))
 (empty_pop 0
  (empty_pop-1 nil 3267980204 3267981310
   ("1" (skolem!)
    (("1" (case "StackAssert?(c!1)")
      (("1" (assert)
        (("1" (expand "StackAssert?")
          (("1" (flatten -)
            (("1" (hide-all-but (-1 1))
              (("1" (inst -1 "s!1")
                (("1" (flatten -)
                  (("1" (hide-all-but (-3 1))
                    (("1" (expand "empty_pop?")
                      (("1" (inst?) (("1" (assert))))))))))))))))))))
       ("2" (assert)))))
    nil)
   proved-complete
   ((empty_pop? const-decl "[Self -> bool]" StackSemantics nil)
    (Self formal-type-decl nil StackBasic nil)
    (T formal-type-decl nil StackBasic nil)
    (lift type-decl nil lift_adt nil)
    (StackSignature type-eq-decl nil StackInterface nil)
    (boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (StackAssert? const-decl "bool" StackSemantics nil))
   70 60 nil nil))
 (top_nil 0
  (top_nil-1 nil 3267980204 3267981310
   ("1" (skolem!)
    (("1" (case "StackAssert?(c!1)")
      (("1" (case "StackCreate?(c!1)(z!1)")
        (("1" (assert)
          (("1" (expand "StackCreate?")
            (("1" (flatten -)
              (("1" (hide-all-but (-1 1))
                (("1" (expand "top_nil?") (("1" (assert))))))))))))
         ("2" (assert))))
       ("2" (assert)))))
    nil)
   proved-complete
   ((StackAssert? const-decl "bool" StackSemantics nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (boolean nonempty-type-decl nil booleans nil)
    (StackSignature type-eq-decl nil StackInterface nil)
    (lift type-decl nil lift_adt nil)
    (T formal-type-decl nil StackBasic nil)
    (Self formal-type-decl nil StackBasic nil)
    (top_nil? const-decl "[StackConstructors[Self, T] -> bool]"
     StackSemantics nil)
    (StackConstructors type-eq-decl nil StackInterface nil)
    (StackCreate? const-decl "[StackConstructors[Self, T] -> bool]"
     StackSemantics nil))
   37 40 nil nil)))
(StackFullInvariant
 (EveryStack_TCC1 0
  (EveryStack_TCC1-1 nil 3267981310 3267981310 ("" (postpone) nil nil)
   unfinished nil 3 10 nil shostak)))
(StackFullBisimulation
 (RelEveryStack_TCC1 0
  (RelEveryStack_TCC1-1 nil 3267981310 3267981310
   ("" (postpone) nil nil) unfinished nil 2 10 nil shostak)))
(StackFinality
 (struct_coreduce_TCC1 0
  (struct_coreduce_TCC1-1 nil 3267980205 3267981310
   ("1" (skolem-typepred)
    (("1"
      (expand* "nonempty?" "empty?" "member" "Stack_final?"
       "Stack_morphism_exists?")
      (("1" (flatten)
        (("1" (hide-all-but (-3 -5))
          (("1" (inst?)
            (("1" (assert) (("1" (skosimp) (("1" (inst?)))))))))))))))
    nil)
   proved-complete
   ((empty? const-decl "bool" sets nil)
    (Stack_morphism_exists? const-decl "bool" StackFinality nil)
    (member const-decl "bool" sets nil)
    (nonempty? const-decl "bool" sets nil)
    (Stack_final? const-decl "bool" StackFinality nil)
    (Self2 formal-type-decl nil StackFinality nil)
    (StackAssert? const-decl "bool" StackSemantics nil)
    (StackSignature type-eq-decl nil StackInterface nil)
    (lift type-decl nil lift_adt nil)
    (T formal-type-decl nil StackFinality nil)
    (Self1 formal-type-decl nil StackFinality nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (boolean nonempty-type-decl nil booleans nil))
   59 40 nil nil))
 (coreduce_TCC1 0
  (coreduce_TCC1-1 nil 3267980205 3267981310
   ("1" (skolem-typepred)
    (("1" (expand "StackMethodAssert?")
      (("1" (replace-eta "m_tuple!1")))))
    nil)
   proved-complete
   ((= const-decl "[T, T -> boolean]" equalities nil)
    (StackMethodAssert? const-decl "bool" StackSemantics nil)
    (Self1 formal-type-decl nil StackFinality nil)
    (Stack_final? const-decl "bool" StackFinality nil)
    (StackSignature type-eq-decl nil StackInterface nil)
    (lift type-decl nil lift_adt nil)
    (T formal-type-decl nil StackFinality nil)
    (Self2 formal-type-decl nil StackFinality nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (boolean nonempty-type-decl nil booleans nil))
   36 40 nil nil)))
(StackFinalityBisim)
(StackLoose
 (Stack_lc_TCC1 0
  (Stack_lc_TCC1-1 nil 3267980205 3267981310
   ("1" (lemma "loose_coalgebra") (("1" (skosimp*) (("1" (inst?)))))
    nil)
   unfinished
   ((LStack type-decl nil StackLoose nil)
    (T formal-type-decl nil StackLoose nil)
    (lift type-decl nil lift_adt nil)
    (StackSignature type-eq-decl nil StackInterface nil)
    (boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (StackAssert? const-decl "bool" StackSemantics nil)
    (loose_coalgebra formula-decl nil StackLoose nil))
   31 20 nil nil))
 (Stack_lz_TCC1 0
  (Stack_lz_TCC1-1 nil 3267981310 3267981310 ("" (postpone) nil nil)
   unfinished nil 3 0 nil shostak)))
(Stack)

