Nuprl Lemma : one_or_both-induction

∀[A,B:Type]. ∀[P:one_or_both(A;B) ⟶ ℙ].
  ((∀bval:A × B. P[oobboth(bval)])
  ⇒ (∀lval:A. P[oobleft(lval)])
  ⇒ (∀rval:B. P[oobright(rval)])
  ⇒ {∀x:one_or_both(A;B). P[x]})


Proof




Definitions occuring in Statement :  oobright: oobright(rval),  oobleft: oobleft(lval),  oobboth: oobboth(bval),  one_or_both: one_or_both(A;B),  uall: ∀[x:A]. B[x],  prop: ℙ,  guard: {T},  so_apply: x[s],  all: ∀x:A. B[x],  implies: P ⇒ Q,  function: x:A ⟶ B[x],  product: x:A × B[x],  universe: Type
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  implies: P ⇒ Q,  guard: {T},  all: ∀x:A. B[x],  one_or_both: one_or_both(A;B),  oobboth: oobboth(bval),  oobleft: oobleft(lval),  oobright: oobright(rval),  member: t ∈ T,  prop: ℙ,  so_lambda: λ2x.t[x],  so_apply: x[s]
Lemmas referenced :  one_or_both_wf,  all_wf,  oobright_wf,  oobleft_wf,  oobboth_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  lambdaFormation,  sqequalHypSubstitution,  unionElimination,  thin,  productElimination,  cut,  lemma_by_obid,  isectElimination,  hypothesisEquality,  hypothesis,  sqequalRule,  lambdaEquality,  applyEquality,  productEquality,  functionEquality,  cumulativity,  universeEquality,  independent_pairEquality,  dependent_functionElimination

Latex:
\mforall{}[A,B:Type].  \mforall{}[P:one\_or\_both(A;B)  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}bval:A  \mtimes{}  B.  P[oobboth(bval)])
    {}\mRightarrow{}  (\mforall{}lval:A.  P[oobleft(lval)])
    {}\mRightarrow{}  (\mforall{}rval:B.  P[oobright(rval)])
    {}\mRightarrow{}  \{\mforall{}x:one\_or\_both(A;B).  P[x]\})



Date html generated: 2016_05_15-PM-05_32_43
Last ObjectModification: 2015_12_27-PM-02_10_37

Theory : general


Home Index