Step
*
4
of Lemma
FormSafe1-Fvs-subset
1. C : Type
2. ∀[P:Form(C) ⟶ ℙ]
((∀name:Atom. P[Vname])
⇒ (∀value:C. P[Const(value)])
⇒ (∀var:Atom. ∀phi:Form(C). (P[phi]
⇒ P[{var | phi}]))
⇒ (∀left,right:Form(C). (P[left]
⇒ P[right]
⇒ P[left = right]))
⇒ (∀element,set:Form(C). (P[element]
⇒ P[set]
⇒ P[element ∈ set]))
⇒ (∀left,right:Form(C). (P[left]
⇒ P[right]
⇒ P[left ∧ right)]))
⇒ (∀left,right:Form(C). (P[left]
⇒ P[right]
⇒ P[left ∨ right]))
⇒ (∀body:Form(C). (P[body]
⇒ P[¬(body)]))
⇒ (∀var:Atom. ∀body:Form(C). (P[body]
⇒ P[∀var. body]))
⇒ (∀var:Atom. ∀body:Form(C). (P[body]
⇒ P[∃var. body]))
⇒ {∀v:Form(C). P[v]})
3. left : Form(C)
4. right : Form(C)
5. ∀vs:Atom List. ((FormSafe1(left) vs)
⇒ l_subset(Atom;vs;FormFvs(left)))
6. ∀vs:Atom List. ((FormSafe1(right) vs)
⇒ l_subset(Atom;vs;FormFvs(right)))
7. vs : Atom List
8. FormSafe1(left) vs
9. FormSafe1(right) vs
⊢ l_subset(Atom;vs;FormFvs(left) ⋃ FormFvs(right))
BY
{ ((Assert l_subset(Atom;vs;FormFvs(left)) BY
(BackThruSomeHyp THEN Auto THEN D 0 THEN Auto))
THEN Try ((RepeatFor 3 (ParallelLast) THEN BLemma `member-union` THEN Auto))
) }
Latex:
Latex:
1. C : Type
2. \mforall{}[P:Form(C) {}\mrightarrow{} \mBbbP{}]
((\mforall{}name:Atom. P[Vname])
{}\mRightarrow{} (\mforall{}value:C. P[Const(value)])
{}\mRightarrow{} (\mforall{}var:Atom. \mforall{}phi:Form(C). (P[phi] {}\mRightarrow{} P[\{var | phi\}]))
{}\mRightarrow{} (\mforall{}left,right:Form(C). (P[left] {}\mRightarrow{} P[right] {}\mRightarrow{} P[left = right]))
{}\mRightarrow{} (\mforall{}element,set:Form(C). (P[element] {}\mRightarrow{} P[set] {}\mRightarrow{} P[element \mmember{} set]))
{}\mRightarrow{} (\mforall{}left,right:Form(C). (P[left] {}\mRightarrow{} P[right] {}\mRightarrow{} P[left \mwedge{} right)]))
{}\mRightarrow{} (\mforall{}left,right:Form(C). (P[left] {}\mRightarrow{} P[right] {}\mRightarrow{} P[left \mvee{} right]))
{}\mRightarrow{} (\mforall{}body:Form(C). (P[body] {}\mRightarrow{} P[\mneg{}(body)]))
{}\mRightarrow{} (\mforall{}var:Atom. \mforall{}body:Form(C). (P[body] {}\mRightarrow{} P[\mforall{}var. body]))
{}\mRightarrow{} (\mforall{}var:Atom. \mforall{}body:Form(C). (P[body] {}\mRightarrow{} P[\mexists{}var. body]))
{}\mRightarrow{} \{\mforall{}v:Form(C). P[v]\})
3. left : Form(C)
4. right : Form(C)
5. \mforall{}vs:Atom List. ((FormSafe1(left) vs) {}\mRightarrow{} l\_subset(Atom;vs;FormFvs(left)))
6. \mforall{}vs:Atom List. ((FormSafe1(right) vs) {}\mRightarrow{} l\_subset(Atom;vs;FormFvs(right)))
7. vs : Atom List
8. FormSafe1(left) vs
9. FormSafe1(right) vs
\mvdash{} l\_subset(Atom;vs;FormFvs(left) \mcup{} FormFvs(right))
By
Latex:
((Assert l\_subset(Atom;vs;FormFvs(left)) BY
(BackThruSomeHyp THEN Auto THEN D 0 THEN Auto))
THEN Try ((RepeatFor 3 (ParallelLast) THEN BLemma `member-union` THEN Auto))
)
Home
Index