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:  Q function: x:A ⟶ B[x] product: x:A × B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] implies:  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