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