Nuprl Lemma : mFOLRule_ind_wf_simple

[A:Type]. ∀[v:mFOLRule()]. ∀[andI,impI:A]. ∀[allI,existsI:var:ℤ ⟶ A]. ∀[orI:left:𝔹 ⟶ A]. ∀[hyp:A].
[andE,orE,impE:hypnum:ℕ ⟶ A]. ∀[allE,existsE:hypnum:ℕ ⟶ var:ℤ ⟶ A].
  (case(v)
   andI => andI
   impI => impI
   allI with var => allI[var]
   existsI with var => existsI[var]
   orI (left?left) => orI[left]
   hyp => hyp
   andE @hypnum => andE[hypnum]
   orE @hypnum => orE[hypnum]
   impE @hypnum => impE[hypnum]
   allE @hypnum with var => allE[hypnum;var]
   existsE @hypnum with var => existsE[hypnum;var] ∈ A)


Proof




Definitions occuring in Statement :  mFOLRule_ind: mFOLRule_ind mFOLRule: mFOLRule() nat: bool: 𝔹 uall: [x:A]. B[x] so_apply: x[s1;s2] so_apply: x[s] member: t ∈ T function: x:A ⟶ B[x] int: universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] true: True subtype_rel: A ⊆B prop: uimplies: supposing a
Lemmas referenced :  mFOLRule_ind_wf true_wf mFOLRule_wf istype-true bool_wf nat_wf subtype_rel_function subtype_rel_self istype-nat istype-int istype-universe
Rules used in proof :  cut introduction extract_by_obid sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt hypothesis sqequalHypSubstitution isectElimination thin hypothesisEquality sqequalRule lambdaEquality_alt universeIsType dependent_set_memberEquality_alt natural_numberEquality functionExtensionality applyEquality closedConclusion intEquality because_Cache setEquality independent_isectElimination applyLambdaEquality setElimination rename inhabitedIsType functionIsType instantiate universeEquality

Latex:
\mforall{}[A:Type].  \mforall{}[v:mFOLRule()].  \mforall{}[andI,impI:A].  \mforall{}[allI,existsI:var:\mBbbZ{}  {}\mrightarrow{}  A].  \mforall{}[orI:left:\mBbbB{}  {}\mrightarrow{}  A].
\mforall{}[hyp:A].  \mforall{}[andE,orE,impE:hypnum:\mBbbN{}  {}\mrightarrow{}  A].  \mforall{}[allE,existsE:hypnum:\mBbbN{}  {}\mrightarrow{}  var:\mBbbZ{}  {}\mrightarrow{}  A].
    (case(v)
      andI  =>  andI
      impI  =>  impI
      allI  with  var  =>  allI[var]
      existsI  with  var  =>  existsI[var]
      orI  (left?left)  =>  orI[left]
      hyp  =>  hyp
      andE  @hypnum  =>  andE[hypnum]
      orE  @hypnum  =>  orE[hypnum]
      impE  @hypnum  =>  impE[hypnum]
      allE  @hypnum  with  var  =>  allE[hypnum;var]
      existsE  @hypnum  with  var  =>  existsE[hypnum;var]  \mmember{}  A)



Date html generated: 2020_05_20-AM-09_09_20
Last ObjectModification: 2020_02_04-PM-02_14_22

Theory : minimal-first-order-logic


Home Index