Step * 1 2 1 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. [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)))
BY
(UseWitness ⌈if null(hyps) then λx,y. (g y) else λx,y. (g <y, x>fi ⌉⋅
   THEN 1
   THEN All (\h. RepUR ``mFOL-sequent-abstract FOSatWith`` h)⋅
   THEN (All (Fold `FOSatWith`) THEN Auto)⋅)⋅ }


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.  [Dom]  :  Type
11.  [S]  :  FOStruct(Dom)
12.  a  :  FOAssignment(Dom)@i
13.  g  :  if  null(map(\mlambda{}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))
          \mtimes{}  tuple-type(map(\mlambda{}h.Dom,S,a  |=  mFOL-abstract(h);hyps))
fi    {}\mrightarrow{}  Dom,S,a  |=  mFOL-abstract(mFOconnect-right(concl))
\mvdash{}  tuple-type(map(\mlambda{}h.Dom,S,a  |=  mFOL-abstract(h);hyps))
{}\mrightarrow{}  (Dom,S,a  |=  mFOL-abstract(mFOconnect-left(concl))
      {}\mRightarrow{}  Dom,S,a  |=  mFOL-abstract(mFOconnect-right(concl)))


By

(UseWitness  \mkleeneopen{}if  null(hyps)  then  \mlambda{}x,y.  (g  y)  else  \mlambda{}x,y.  (g  <y,  x>)  fi  \mkleeneclose{}\mcdot{}
  THEN  D  1
  THEN  All  (\mbackslash{}h.  RepUR  ``mFOL-sequent-abstract  FOSatWith``  h)\mcdot{}
  THEN  (All  (Fold  `FOSatWith`)  THEN  Auto)\mcdot{})\mcdot{}




Home Index