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


1. hyps mFOL() List
2. concl mFOL()
3. hypnum : ℕ
4. hypnum < ||hyps||
5. ↑mFOconnect?(hyps[hypnum])
6. mFOconnect-knd(hyps[hypnum]) "and" ∈ Atom
7. FOL-sequent-evidence{i:l}(<[mFOconnect-left(hyps[hypnum]); [mFOconnect-right(hyps[hypnum]) hyps]], concl>)
8. hyps[hypnum] mFOconnect-left(hyps[hypnum]) ∧ mFOconnect-right(hyps[hypnum]) ∈ mFOL()
9. mFOL-freevars(mFOconnect-left(hyps[hypnum])) ⊆ mFOL-freevars(hyps[hypnum])
10. [Dom] Type
11. [S] FOStruct+{i:l}(Dom)
12. FOAssignment(mFOL-sequent-freevars(<[mFOconnect-right(hyps[hypnum]) hyps], mFOconnect-left(hyps[hypnum])>),Dom\000C)
13. Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]) ∧ mFOconnect-right(hyps[hypnum]))
⊢ Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]))
BY
(RepUR ``FOL-abstract`` (-1)
   THEN Fold `FOL-abstract` (-1)
   THEN RepUR ``FOConnective+ FOSatWith+ let`` (-1)
   THEN All (Fold `FOSatWith+`)
   THEN Auto) }

1
1. hyps mFOL() List
2. concl mFOL()
3. hypnum : ℕ
4. hypnum < ||hyps||
5. ↑mFOconnect?(hyps[hypnum])
6. mFOconnect-knd(hyps[hypnum]) "and" ∈ Atom
7. FOL-sequent-evidence{i:l}(<[mFOconnect-left(hyps[hypnum]); [mFOconnect-right(hyps[hypnum]) hyps]], concl>)
8. hyps[hypnum] mFOconnect-left(hyps[hypnum]) ∧ mFOconnect-right(hyps[hypnum]) ∈ mFOL()
9. mFOL-freevars(mFOconnect-left(hyps[hypnum])) ⊆ mFOL-freevars(hyps[hypnum])
10. [Dom] Type
11. [S] FOStruct+{i:l}(Dom)
12. FOAssignment(mFOL-sequent-freevars(<[mFOconnect-right(hyps[hypnum]) hyps], mFOconnect-left(hyps[hypnum])>),Dom\000C)
13. (Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]))
∧ Dom,S,a +|= FOL-abstract(mFOconnect-right(hyps[hypnum]))) ⋃ (S "false" [])
⊢ Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]))


Latex:


Latex:

1.  hyps  :  mFOL()  List
2.  concl  :  mFOL()
3.  hypnum  :  \mBbbN{}
4.  hypnum  <  ||hyps||
5.  \muparrow{}mFOconnect?(hyps[hypnum])
6.  mFOconnect-knd(hyps[hypnum])  =  "and"
7.  FOL-sequent-evidence\{i:l\}(<[mFOconnect-left(hyps[hypnum]);
                                                              [mFOconnect-right(hyps[hypnum])  /  hyps]]
                                                          ,  concl
                                                          >)
8.  hyps[hypnum]  =  mFOconnect-left(hyps[hypnum])  \mwedge{}  mFOconnect-right(hyps[hypnum])
9.  mFOL-freevars(mFOconnect-left(hyps[hypnum]))  \msubseteq{}  mFOL-freevars(hyps[hypnum])
10.  [Dom]  :  Type
11.  [S]  :  FOStruct+\{i:l\}(Dom)
12.  a  :  FOAssignment(mFOL-sequent-freevars(<[mFOconnect-right(hyps[hypnum])  /  hyps]
                                                                                      ,  mFOconnect-left(hyps[hypnum])
                                                                                      >),Dom)
13.  Dom,S,a  +|=  FOL-abstract(mFOconnect-left(hyps[hypnum])  \mwedge{}  mFOconnect-right(hyps[hypnum]))
\mvdash{}  Dom,S,a  +|=  FOL-abstract(mFOconnect-left(hyps[hypnum]))


By


Latex:
(RepUR  ``FOL-abstract``  (-1)
  THEN  Fold  `FOL-abstract`  (-1)
  THEN  RepUR  ``FOConnective+  FOSatWith+  let``  (-1)
  THEN  All  (Fold  `FOSatWith+`)
  THEN  Auto)




Home Index