Step * of Lemma FormSafe-iff-FormSafe1'

C:Type. ∀f:Form(C). ∀vs:Atom List.  (FormSafe1(f) vs ⇐⇒ FormSafe1'(f) vs)
BY
(Intro
   THEN (BLemma `Form-induction` THENW Auto)
   THEN RepUR ``FormSafe1 FormSafe1\'`` 0
   THEN Try (Folds ``FormSafe1 FormSafe1\'`` 0⋅)
   THEN Try (QuickAuto)) }

1
1. Type
⊢ ∀left,right:Form(C).
    ((∀vs:Atom List. (FormSafe1(left) vs ⇐⇒ FormSafe1'(left) vs))
     (∀vs:Atom List. (FormSafe1(right) vs ⇐⇒ FormSafe1'(right) vs))
     (∀vs:Atom List
          (∃as,bs:Atom List
            (set-equal(Atom;vs;as bs)
            ∧ (FormSafe1(left) as)
            ∧ (FormSafe1(right) bs)
            ∧ (l_disjoint(Atom;as;FormFvs(right)) ∨ l_disjoint(Atom;bs;FormFvs(left))))
          ⇐⇒ (∃theta:Atom List
                (l_subset(Atom;theta;vs-FormFvs(right)) ∧ (FormSafe1'(left) theta) ∧ (FormSafe1'(right) vs-theta)))
              ∨ (∃phi:Atom List
                  (l_subset(Atom;phi;vs-FormFvs(left)) ∧ (FormSafe1'(left) vs-phi) ∧ (FormSafe1'(right) phi))))))


Latex:


Latex:
\mforall{}C:Type.  \mforall{}f:Form(C).  \mforall{}vs:Atom  List.    (FormSafe1(f)  vs  \mLeftarrow{}{}\mRightarrow{}  FormSafe1'(f)  vs)


By


Latex:
(Intro
  THEN  (BLemma  `Form-induction`  THENW  Auto)
  THEN  RepUR  ``FormSafe1  FormSafe1\mbackslash{}'``  0
  THEN  Try  (Folds  ``FormSafe1  FormSafe1\mbackslash{}'``  0\mcdot{})
  THEN  Try  (QuickAuto))




Home Index