Step * 1 12 1 1 2 1 1 1 of Lemma FOL-proveable-evidence

.....assertion..... 
1. hyps mFOL() List
2. concl mFOL()
3. subgoals mFOL-sequent() List
4. hypnum : ℕ
5. : ℤ
6. ¬(z ∈ mFOL-sequent-freevars(<hyps, concl>))
7. hypnum < ||hyps||
8. ↑mFOquant?(hyps[hypnum])
9. mFOquant-isall(hyps[hypnum]) ff
10. [Dom] Type
11. [S] FOStruct+{i:l}(Dom)
12. FOAssignment(mFOL-sequent-freevars(<hyps, concl>),Dom)
13. tuple-type(FOL-hyps-meaning(Dom;S;a;hyps))
14. mFOL()
15. mFOquant-body(hyps[hypnum]) B ∈ mFOL()
16. : ℤ
17. mFOquant-var(hyps[hypnum]) y ∈ ℤ
18. FOL-sequent-evidence{i:l}(<[B[z/y] hyps], concl>)
19. hyps[hypnum] = ∃y;B) ∈ mFOL()
⊢ filter(λx.(¬b(x =z y));mFOL-freevars(B)) ⊆ mFOL-sequent-freevars(<hyps, concl>)
BY
(Unfold `l_contains` 0
   THEN (RWO "l_all_iff" THENA Auto)
   THEN (RWO "member_filter" THENA Auto)
   THEN Reduce 0
   THEN (RWO "member-mFOL-sequent-freevars" THENA Auto)
   THEN Reduce 0
   THEN Auto
   THEN (RW assert_pushdownC  (-1) THENA Auto)) }

1
1. hyps mFOL() List
2. concl mFOL()
3. subgoals mFOL-sequent() List
4. hypnum : ℕ
5. : ℤ
6. ¬(z ∈ mFOL-sequent-freevars(<hyps, concl>))
7. hypnum < ||hyps||
8. ↑mFOquant?(hyps[hypnum])
9. mFOquant-isall(hyps[hypnum]) ff
10. [Dom] Type
11. [S] FOStruct+{i:l}(Dom)
12. FOAssignment(mFOL-sequent-freevars(<hyps, concl>),Dom)
13. tuple-type(FOL-hyps-meaning(Dom;S;a;hyps))
14. mFOL()
15. mFOquant-body(hyps[hypnum]) B ∈ mFOL()
16. : ℤ
17. mFOquant-var(hyps[hypnum]) y ∈ ℤ
18. FOL-sequent-evidence{i:l}(<[B[z/y] hyps], concl>)
19. hyps[hypnum] = ∃y;B) ∈ mFOL()
20. a1 : ℤ
21. (a1 ∈ mFOL-freevars(B))
22. ¬(a1 y ∈ ℤ)
⊢ (a1 ∈ mFOL-freevars(concl)) ∨ (∃h∈hyps. (a1 ∈ mFOL-freevars(h)))


Latex:


Latex:
.....assertion..... 
1.  hyps  :  mFOL()  List
2.  concl  :  mFOL()
3.  subgoals  :  mFOL-sequent()  List
4.  hypnum  :  \mBbbN{}
5.  z  :  \mBbbZ{}
6.  \mneg{}(z  \mmember{}  mFOL-sequent-freevars(<hyps,  concl>))
7.  hypnum  <  ||hyps||
8.  \muparrow{}mFOquant?(hyps[hypnum])
9.  mFOquant-isall(hyps[hypnum])  =  ff
10.  [Dom]  :  Type
11.  [S]  :  FOStruct+\{i:l\}(Dom)
12.  a  :  FOAssignment(mFOL-sequent-freevars(<hyps,  concl>),Dom)
13.  tuple-type(FOL-hyps-meaning(Dom;S;a;hyps))
14.  B  :  mFOL()
15.  mFOquant-body(hyps[hypnum])  =  B
16.  y  :  \mBbbZ{}
17.  mFOquant-var(hyps[hypnum])  =  y
18.  FOL-sequent-evidence\{i:l\}(<[B[z/y]  /  hyps],  concl>)
19.  hyps[hypnum]  =  \mexists{}y;B)
\mvdash{}  filter(\mlambda{}x.(\mneg{}\msubb{}(x  =\msubz{}  y));mFOL-freevars(B))  \msubseteq{}  mFOL-sequent-freevars(<hyps,  concl>)


By


Latex:
(Unfold  `l\_contains`  0
  THEN  (RWO  "l\_all\_iff"  0  THENA  Auto)
  THEN  (RWO  "member\_filter"  0  THENA  Auto)
  THEN  Reduce  0
  THEN  (RWO  "member-mFOL-sequent-freevars"  0  THENA  Auto)
  THEN  Reduce  0
  THEN  Auto
  THEN  (RW  assert\_pushdownC    (-1)  THENA  Auto))




Home Index