Step * 1 9 1 1 of Lemma mFOL-proveable-evidence


1. hyps mFOL() List@i
2. concl mFOL()@i
3. subgoals mFOL-sequent() List@i
4. hypnum : ℕ@i
5. hypnum < ||hyps||
6. ↑mFOconnect?(hyps[hypnum])
7. mFOconnect-knd(hyps[hypnum]) "or" ∈ Atom
8. mFOL-sequent-evidence(<[mFOconnect-left(hyps[hypnum]) hyps], concl>)
9. mFOL-sequent-evidence(<[mFOconnect-right(hyps[hypnum]) hyps], concl>)
10. hyps[hypnum] mFOconnect-left(hyps[hypnum]) ∨ mFOconnect-right(hyps[hypnum]) ∈ mFOL()
⊢ mFOL-sequent-evidence(<hyps, concl>)
BY
(D 0
   THEN Auto
   THEN (Assert Dom,S,a |= mFOL-sequent-abstract(<[mFOconnect-left(hyps[hypnum]) hyps], concl>BY
               (Auto THEN All (RepUR ``mFOL-sequent-evidence mFO-uniform-evidence``) THEN BackThruSomeHyp))
   THEN Thin (-7)
   THEN RenameVar `f' (-1)
   THEN (Assert Dom,S,a |= mFOL-sequent-abstract(<[mFOconnect-right(hyps[hypnum]) hyps], concl>BY
               (Auto THEN All (RepUR ``mFOL-sequent-evidence mFO-uniform-evidence``) THEN BackThruSomeHyp))
   THEN Thin (-7)
   THEN RenameVar `g' (-1)
   THEN All (Unfolds ``mFOL-sequent-abstract FOSatWith``)
   THEN All PrimReduce)⋅ }

1
1. hyps mFOL() List@i
2. concl mFOL()@i
3. subgoals mFOL-sequent() List@i
4. hypnum : ℕ@i
5. hypnum < ||hyps||
6. ↑mFOconnect?(hyps[hypnum])
7. mFOconnect-knd(hyps[hypnum]) "or" ∈ Atom
8. hyps[hypnum] mFOconnect-left(hyps[hypnum]) ∨ mFOconnect-right(hyps[hypnum]) ∈ mFOL()
9. [Dom] Type
10. [S] FOStruct(Dom)
11. FOAssignment(Dom)@i
12. tuple-type(map(λh.Dom,S,a |= mFOL-abstract(h);[mFOconnect-left(hyps[hypnum]) hyps]))
─→ Dom,S,a |= mFOL-abstract(concl)
13. tuple-type(map(λh.Dom,S,a |= mFOL-abstract(h);[mFOconnect-right(hyps[hypnum]) hyps]))
─→ Dom,S,a |= mFOL-abstract(concl)
⊢ tuple-type(map(λh.Dom,S,a |= mFOL-abstract(h);hyps)) ─→ Dom,S,a |= mFOL-abstract(concl)


Latex:



1.  hyps  :  mFOL()  List@i
2.  concl  :  mFOL()@i
3.  subgoals  :  mFOL-sequent()  List@i
4.  hypnum  :  \mBbbN{}@i
5.  hypnum  <  ||hyps||
6.  \muparrow{}mFOconnect?(hyps[hypnum])
7.  mFOconnect-knd(hyps[hypnum])  =  "or"
8.  mFOL-sequent-evidence(<[mFOconnect-left(hyps[hypnum])  /  hyps],  concl>)
9.  mFOL-sequent-evidence(<[mFOconnect-right(hyps[hypnum])  /  hyps],  concl>)
10.  hyps[hypnum]  =  mFOconnect-left(hyps[hypnum])  \mvee{}  mFOconnect-right(hyps[hypnum])
\mvdash{}  mFOL-sequent-evidence(<hyps,  concl>)


By

(D  0
  THEN  Auto
  THEN  (Assert  Dom,S,a  |=  mFOL-sequent-abstract(<[mFOconnect-left(hyps[hypnum])  /  hyps],  concl>)  BY
                          (Auto
                            THEN  All  (RepUR  ``mFOL-sequent-evidence  mFO-uniform-evidence``)
                            THEN  BackThruSomeHyp))
  THEN  Thin  (-7)
  THEN  RenameVar  `f'  (-1)
  THEN  (Assert  Dom,S,a  |=  mFOL-sequent-abstract(<[mFOconnect-right(hyps[hypnum])  /  hyps],  concl>)  BY
                          (Auto
                            THEN  All  (RepUR  ``mFOL-sequent-evidence  mFO-uniform-evidence``)
                            THEN  BackThruSomeHyp))
  THEN  Thin  (-7)
  THEN  RenameVar  `g'  (-1)
  THEN  All  (Unfolds  ``mFOL-sequent-abstract  FOSatWith``)
  THEN  All  PrimReduce)\mcdot{}




Home Index