(|QueueInterface|)
(|QueueMethod_Id|)
(|QueueMethodPredicateLifting|)
(|QueueMethodInvariantRewrite| (|inv_true| "" (GRIND) NIL NIL)
 (|inv_put| "" (GRIND) NIL NIL) (|inv_top| "" (GRIND) NIL NIL))
(|QueueMethodInvariantInherit|)
(|QueueBox|
 (|Queue_box_inv| "" (SKOSIMP*)
  (("" (EXPAND "method_invariant?")
    (("" (SKOSIMP*)
      (("" (EXPAND "Queue_MethodPred")
        (("" (SKOSIMP*)
          (("" (SMASH)
            (("1" (EXPAND "put_Pred")
              (("1" (SKOSIMP*)
                (("1" (EXPAND "box")
                  (("1" (SKOSIMP*)
                    (("1" (INST? 1)
                      (("1" (ASSERT)
                        (("1" (SPLIT)
                          (("1" (EXPAND "method_invariant?")
                            (("1" (FORWARD-CHAIN -2)
                              (("1"
                                (EXPAND "Queue_MethodPred")
                                (("1"
                                  (EXPAND "put_Pred")
                                  (("1" (REDUCE) NIL NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL)
                           ("2" (PROPAX) NIL NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("2" (EXPAND "top_Pred")
              (("2" (SMASH)
                (("2" (EXPAND "box")
                  (("2" (SKOSIMP*)
                    (("2" (INST? 3)
                      (("2" (ASSERT)
                        (("2" (SPLIT)
                          (("1" (EXPAND "method_invariant?")
                            (("1" (FORWARD-CHAIN -2)
                              (("1"
                                (EXPAND "Queue_MethodPred")
                                (("1"
                                  (EXPAND "top_Pred")
                                  (("1" (REDUCE) NIL NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL)
                           ("2" (PROPAX) NIL NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL))
(|QueueBoxInherit|)
(|QueueBisimilarity|)
(|QueueBisimilarityRewrite|)
(|QueuePublicBisimilarityRewrite|)
(|QueueBisimilarityEquivalence|)
(|QueueBisimilarityEqRewrite| (|eq_bisim| "" (GRIND) NIL NIL)
 (|bisim_refl| "" (GRIND)
  (("" (INST 1 "=") (("" (GRIND) NIL NIL)) NIL)) NIL)
 (|bisim_sym| "" (SKOSIMP* :PREDS? T)
  (("" (EXPAND "bisim?")
    (("" (EXPAND "bisim?")
      (("" (SKOSIMP* :PREDS? T)
        (("" (INST 1 "lambda(x, y : Self) : R!1(y,x)")
          (("" (ASSERT)
            (("" (HIDE -2)
              (("" (EXPAND "bisimulation?")
                (("" (SKOSIMP* :PREDS? T)
                  (("" (INST?)
                    (("" (ASSERT)
                      (("" (EXPAND "Queue_Rel") (("" (GRIND) NIL NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|bisim_trans| "" (SKOSIMP*)
  (("" (EXPAND "bisim?")
    (("" (EXPAND "bisim?")
      (("" (SKOSIMP*)
        (("" (INST 1 "R!1 o R!2")
          (("" (SPLIT)
            (("1" (HIDE -2 -4)
              (("1" (EXPAND "bisimulation?")
                (("1" (SKOSIMP*)
                  (("1" (EXPAND "o ")
                    (("1" (SKOSIMP*)
                      (("1" (FORWARD-CHAIN -3)
                        (("1" (FORWARD-CHAIN -4)
                          (("1" (EXPAND "Queue_Rel")
                            (("1" (FLATTEN)
                              (("1"
                                (SPLIT)
                                (("1"
                                  (HIDE -2 -4 -5 -6)
                                  (("1"
                                    (SKOSIMP*)
                                    (("1"
                                      (INST? -1)
                                      (("1"
                                        (INST? -2)
                                        (("1"
                                          (INST?)
                                          (("1" (ASSERT) NIL NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("2"
                                  (FLATTEN)
                                  (("2"
                                    (ASSERT)
                                    (("2" (ASSERT) NIL NIL))
                                    NIL))
                                  NIL)
                                 ("3"
                                  (FLATTEN)
                                  (("3"
                                    (ASSERT)
                                    (("3"
                                      (FLATTEN)
                                      (("3"
                                        (ASSERT)
                                        (("3"
                                          (FLATTEN)
                                          (("3"
                                            (ASSERT)
                                            (("3"
                                              (INST?)
                                              (("3" (ASSERT) NIL NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("2" (HIDE -1 -3) (("2" (GRIND) NIL NIL)) NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|bisim_put| "" (GRIND) NIL NIL) (|bisim_top| "" (GRIND) NIL NIL))
(|QueuePublicBisimilarityEqRewrite|)
(|QueueReqObsEq|)
(|QueueMorphism|)
(|QueueMorphismRewrite|)
(|QueueSemantics|)
(|QueueBasic|
 (|q_empty| "" (SKOLEM!)
  (("" (CASE "QueueAssert?(c!1)")
    (("1" (ASSERT)
      (("1" (EXPAND "QueueAssert?")
        (("1" (INST -1 "x!1")
          (("1" (FLATTEN -)
            (("1" (HIDE-ALL-BUT (-1 1))
              (("1" (EXPAND "q_empty?") (("1" (PROPAX) NIL NIL)) NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL)
     ("2" (ASSERT) NIL NIL))
    NIL))
  NIL)
 (|q_filled| "" (SKOLEM!)
  (("" (CASE "QueueAssert?(c!1)")
    (("1" (ASSERT)
      (("1" (EXPAND "QueueAssert?")
        (("1" (INST -1 "x!1")
          (("1" (FLATTEN -)
            (("1" (HIDE-ALL-BUT (-2 1))
              (("1" (EXPAND "q_filled?") (("1" (INST?) NIL NIL)) NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL)
     ("2" (ASSERT) NIL NIL))
    NIL))
  NIL)
 (|q_new| "" (SKOLEM!)
  (("" (CASE "QueueAssert?(c!1)")
    (("1" (CASE "QueueCreate?(c!1)(z!1)")
      (("1" (ASSERT)
        (("1" (EXPAND "QueueCreate?")
          (("1" (HIDE-ALL-BUT (-1 1))
            (("1" (EXPAND "q_new?") (("1" (PROPAX) NIL NIL)) NIL))
            NIL))
          NIL))
        NIL)
       ("2" (ASSERT) NIL NIL))
      NIL)
     ("2" (ASSERT) NIL NIL))
    NIL))
  NIL))
(|QueueFullInvariant|)
(|QueueFullBisimulation|)
(|QueueFinality|
 (|struct_coreduce_TCC1| "1" (SKOLEM-TYPEPRED)
  (("1"
    (EXPAND* "nonempty?" "empty?" "member" "Queue_final?"
     "Queue_morphism_exists?")
    (("1" (FLATTEN)
      (("1" (HIDE-ALL-BUT (-3 -5))
        (("1" (INST?) (("1" (SKOSIMP) (("1" (INST?))))))))))))))
 (|coreduce_TCC1| "1" (SKOLEM-TYPEPRED)
  (("1" (EXPAND "QueueMethodAssert?")
    (("1" (REPLACE-ETA "m_tuple!1")))))))
(|QueueFinalityBisim|)
(|QueueLoose|
 (|Queue_lc_TCC1| "1" (LEMMA "loose_coalgebra")
  (("1" (SKOSIMP*) (("1" (INST?)))))))
(|Queue|)

