Step * 1 2 of Lemma mFOL-proveable-evidence


1. hyps mFOL() List@i
2. concl mFOL()@i
3. subgoals mFOL-sequent() List@i
4. subproofs : ℕ||subgoals|| ─→ proof-tree(mFOL-sequent();mFOLRule();λsr.mFOLeffect(sr))@i'
5. ∀b:ℕ||subgoals||. ∀s:mFOL-sequent().
     (correct_proof(mFOL-sequent();λsr.mFOLeffect(sr);s;subproofs b)  mFOL-sequent-evidence(s))@i'
6. ∀i:ℕ||subgoals||. correct_proof(mFOL-sequent();λsr.mFOLeffect(sr);subgoals[i];subproofs i)@i'
7. ↑mFOconnect?(concl)
8. mFOconnect-knd(concl) "imp" ∈ Atom
9. [<[mFOconnect-left(concl) hyps], mFOconnect-right(concl)>subgoals ∈ (mFOL-sequent() List)
10. mFOL-sequent-evidence(<[mFOconnect-left(concl) hyps], mFOconnect-right(concl)>)
⊢ mFOL-sequent-evidence(<hyps, concl>)
BY
((Subst ⌈concl mFOconnect-left(concl)  mFOconnect-right(concl) ∈ mFOL()⌉ 0⋅
    THENA (Auto
           THEN MoveToConcl 2
           THEN BLemmaUp `mFOL-induction`⋅
           THEN Reduce 0
           THEN Auto
           THEN Try ((Fold `AbstractFOFormula` THEN Auto))
           THEN Unfold `mFOL-sequent` 0
           THEN Auto)
    )
   THEN 0
   THEN Auto
   THEN (Assert Dom,S,a |= mFOL-sequent-abstract(<[mFOconnect-left(concl) hyps], mFOconnect-right(concl)>BY
               (Auto THEN All (RepUR ``mFOL-sequent-evidence mFO-uniform-evidence``) THEN BackThruSomeHyp))
   THEN Thin (-5)
   THEN RenameVar `g' (-1)
   THEN (All (RepUR ``mFOL-sequent-abstract FOSatWith``)
         THEN RepUR ``mFOL-abstract`` 0
         THEN Fold `mFOL-abstract` 0
         THEN RepUR ``FOConnective FOSatWith let`` 0
         THEN All (Fold `FOSatWith`))⋅)⋅ }

1
1. hyps mFOL() List@i
2. concl mFOL()@i
3. subgoals mFOL-sequent() List@i
4. subproofs : ℕ||subgoals|| ─→ proof-tree(mFOL-sequent();mFOLRule();λsr.mFOLeffect(sr))@i'
5. ∀b:ℕ||subgoals||. ∀s:mFOL-sequent().
     (correct_proof(mFOL-sequent();λsr.mFOLeffect(sr);s;subproofs b)  mFOL-sequent-evidence(s))@i'
6. ∀i:ℕ||subgoals||. correct_proof(mFOL-sequent();λsr.mFOLeffect(sr);subgoals[i];subproofs i)@i'
7. ↑mFOconnect?(concl)
8. mFOconnect-knd(concl) "imp" ∈ Atom
9. [<[mFOconnect-left(concl) hyps], mFOconnect-right(concl)>subgoals ∈ (mFOL-sequent() List)
10. [Dom] Type
11. [S] FOStruct(Dom)
12. FOAssignment(Dom)@i
13. if null(map(λh.Dom,S,a |= mFOL-abstract(h);hyps))
then Dom,S,a |= mFOL-abstract(mFOconnect-left(concl))
else Dom,S,a |= mFOL-abstract(mFOconnect-left(concl)) × tuple-type(map(λh.Dom,S,a |= mFOL-abstract(h);hyps))
fi  ─→ Dom,S,a |= mFOL-abstract(mFOconnect-right(concl))
⊢ tuple-type(map(λh.Dom,S,a |= mFOL-abstract(h);hyps)) ─→ (Dom,S,a |= mFOL-abstract(mFOconnect-left(concl))
                                                           Dom,S,a |= mFOL-abstract(mFOconnect-right(concl)))


Latex:



1.  hyps  :  mFOL()  List@i
2.  concl  :  mFOL()@i
3.  subgoals  :  mFOL-sequent()  List@i
4.  subproofs  :  \mBbbN{}||subgoals||  {}\mrightarrow{}  proof-tree(mFOL-sequent();mFOLRule();\mlambda{}sr.mFOLeffect(sr))@i'
5.  \mforall{}b:\mBbbN{}||subgoals||.  \mforall{}s:mFOL-sequent().
          (correct\_proof(mFOL-sequent();\mlambda{}sr.mFOLeffect(sr);s;subproofs  b)  {}\mRightarrow{}  mFOL-sequent-evidence(s))@i'
6.  \mforall{}i:\mBbbN{}||subgoals||.  correct\_proof(mFOL-sequent();\mlambda{}sr.mFOLeffect(sr);subgoals[i];subproofs  i)@i'
7.  \muparrow{}mFOconnect?(concl)
8.  mFOconnect-knd(concl)  =  "imp"
9.  [<[mFOconnect-left(concl)  /  hyps],  mFOconnect-right(concl)>]  =  subgoals
10.  mFOL-sequent-evidence(<[mFOconnect-left(concl)  /  hyps],  mFOconnect-right(concl)>)
\mvdash{}  mFOL-sequent-evidence(<hyps,  concl>)


By

((Subst  \mkleeneopen{}concl  =  mFOconnect-left(concl)  {}\mRightarrow{}  mFOconnect-right(concl)\mkleeneclose{}  0\mcdot{}
    THENA  (Auto
                  THEN  MoveToConcl  2
                  THEN  BLemmaUp  `mFOL-induction`\mcdot{}
                  THEN  Reduce  0
                  THEN  Auto
                  THEN  Try  ((Fold  `AbstractFOFormula`  0  THEN  Auto))
                  THEN  Unfold  `mFOL-sequent`  0
                  THEN  Auto)
    )
  THEN  D  0
  THEN  Auto
  THEN  (Assert  Dom,S,a  |=  mFOL-sequent-abstract(<[mFOconnect-left(concl)  /  hyps]
                                                                                              ,  mFOconnect-right(concl)
                                                                                              >)  BY
                          (Auto
                            THEN  All  (RepUR  ``mFOL-sequent-evidence  mFO-uniform-evidence``)
                            THEN  BackThruSomeHyp))
  THEN  Thin  (-5)
  THEN  RenameVar  `g'  (-1)
  THEN  (All  (RepUR  ``mFOL-sequent-abstract  FOSatWith``)
              THEN  RepUR  ``mFOL-abstract``  0
              THEN  Fold  `mFOL-abstract`  0
              THEN  RepUR  ``FOConnective  FOSatWith  let``  0
              THEN  All  (Fold  `FOSatWith`))\mcdot{})\mcdot{}




Home Index