Step
*
1
1
1
2
2
of Lemma
FormSafe-iff-FormSafe1'
1. C : Type
2. left : Form(C)
3. right : Form(C)
4. vs : Atom List
5. as : Atom List
6. bs : Atom List
7. set-equal(Atom;vs;as @ bs)
8. FormSafe1(left) as
9. FormSafe1(right) bs
10. l_disjoint(Atom;bs;FormFvs(left))
11. l_subset(Atom;bs;vs-FormFvs(left))
⊢ FormSafe1(left) vs-bs
BY
{ (InstLemma `FormSafe1_functionality` [⌜C⌝;⌜left⌝;⌜as⌝;⌜vs-bs⌝]⋅ THEN Auto) }
1
.....antecedent..... 
1. C : Type
2. left : Form(C)
3. right : Form(C)
4. vs : Atom List
5. as : Atom List
6. bs : Atom List
7. set-equal(Atom;vs;as @ bs)
8. FormSafe1(left) as
9. FormSafe1(right) bs
10. l_disjoint(Atom;bs;FormFvs(left))
11. l_subset(Atom;bs;vs-FormFvs(left))
⊢ l_subset(Atom;vs-bs;as)
Latex:
Latex:
1.  C  :  Type
2.  left  :  Form(C)
3.  right  :  Form(C)
4.  vs  :  Atom  List
5.  as  :  Atom  List
6.  bs  :  Atom  List
7.  set-equal(Atom;vs;as  @  bs)
8.  FormSafe1(left)  as
9.  FormSafe1(right)  bs
10.  l\_disjoint(Atom;bs;FormFvs(left))
11.  l\_subset(Atom;bs;vs-FormFvs(left))
\mvdash{}  FormSafe1(left)  vs-bs
By
Latex:
(InstLemma  `FormSafe1\_functionality`  [\mkleeneopen{}C\mkleeneclose{};\mkleeneopen{}left\mkleeneclose{};\mkleeneopen{}as\mkleeneclose{};\mkleeneopen{}vs-bs\mkleeneclose{}]\mcdot{}  THEN  Auto)
Home
Index