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