Nuprl Lemma : polymorphic-choice-sq

∀f:⋂A:Type. (A ⟶ A ⟶ A). ((f ~ λx.if f x is lambda then λy.x otherwise ⊥) ∨ (f ~ λx,y. y))


Proof




Definitions occuring in Statement :  bottom: ⊥,  islambda: if z is lambda then a otherwise b,  all: ∀x:A. B[x],  or: P ∨ Q,  apply: f a,  lambda: λx.A[x],  isect: ⋂x:A. B[x],  function: x:A ⟶ B[x],  universe: Type,  sqequal: s ~ t
Definitions unfolded in proof :  member: t ∈ T,  uall: ∀[x:A]. B[x],  all: ∀x:A. B[x],  implies: P ⇒ Q,  or: P ∨ Q,  subtype_rel: A ⊆r B,  guard: {T},  nat: ℕ,  le: A ≤ B,  and: P ∧ Q,  less_than': less_than'(a;b),  false: False,  not: ¬A,  prop: ℙ,  top: Top,  uimplies: b supposing a,  so_lambda: λ2x.t[x],  so_apply: x[s],  has-value: (a)↓,  btrue: tt,  it: ⋅,  bfalse: ff,  ge: i ≥ j ,  exists: ∃x:A. B[x],  satisfiable_int_formula: satisfiable_int_formula(fmla),  decidable: Dec(P),  squash: ↓T,  iff: P ⇐⇒ Q,  rev_implies: P ⇐ Q,  true: True,  sq_type: SQType(T)
Lemmas referenced :  istype-universe,  polymorphic-choice-base-sq,  nat_wf,  false_wf,  le_wf,  top_wf,  value-type-has-value,  set-value-type,  int-value-type,  has-value_wf_base,  is-exception_wf,  set_subtype_base,  int_subtype_base,  equal_wf,  strictness-apply,  bottom_diverge,  int_term_value_var_lemma,  int_formula_prop_and_lemma,  itermVar_wf,  intformand_wf,  nat_properties,  istype-le,  int_formula_prop_wf,  int_term_value_constant_lemma,  int_formula_prop_le_lemma,  istype-void,  int_formula_prop_not_lemma,  istype-int,  itermConstant_wf,  intformle_wf,  intformnot_wf,  full-omega-unsat,  decidable__le,  equal_functionality_wrt_subtype_rel2,  istype-top,  decidable__equal_int,  intformeq_wf,  int_formula_prop_eq_lemma,  true_wf,  squash_wf,  member_wf,  istype-sqequal,  not_zero_sqequal_one,  iff_weakening_equal,  subtype_rel_self,  istype-base,  subtype_base_sq,  equal-wf-base,  or_wf,  sqequal-wf-base
Rules used in proof :  because_Cache,  hypothesisEquality,  Error :universeIsType,  Error :functionIsType,  hypothesis,  universeEquality,  thin,  isectElimination,  sqequalHypSubstitution,  extract_by_obid,  introduction,  instantiate,  cut,  Error :isectIsType,  Error :lambdaFormation_alt,  sqequalReflexivity,  computationStep,  sqequalTransitivity,  sqequalSubstitution,  pointwiseFunctionality,  dependent_functionElimination,  independent_functionElimination,  equalityTransitivity,  equalitySymmetry,  unionElimination,  sqequalRule,  applyEquality,  lambdaEquality,  isectEquality,  cumulativity,  functionEquality,  dependent_set_memberEquality,  natural_numberEquality,  independent_pairFormation,  lambdaFormation,  islambdaCases,  isect_memberFormation,  axiomSqEquality,  isect_memberEquality,  voidElimination,  voidEquality,  independent_isectElimination,  intEquality,  functionExtensionality,  callbyvalueApply,  divergentSqle,  baseClosed,  baseApply,  closedConclusion,  inlEquality,  sqequalIntensionalEquality,  inrEquality,  Error :equalityIstype,  int_eqEquality,  rename,  setElimination,  applyLambdaEquality,  Error :isect_memberEquality_alt,  Error :dependent_pairFormation_alt,  approximateComputation,  Error :dependent_set_memberEquality_alt,  Error :inhabitedIsType,  Error :lambdaEquality_alt,  Error :isectIsTypeImplies,  Error :isect_memberFormation_alt,  int_eqReduceTrueSq,  imageMemberEquality,  imageElimination,  unionEquality,  sqequalExtensionalEquality,  Error :inlEquality_alt,  productElimination,  callbyvalueIslambda

Latex:
\mforall{}f:\mcap{}A:Type.  (A  {}\mrightarrow{}  A  {}\mrightarrow{}  A).  ((f  \msim{}  \mlambda{}x.if  f  x  is  lambda  then  \mlambda{}y.x  otherwise  \mbot{})  \mvee{}  (f  \msim{}  \mlambda{}x,y.  y))



Date html generated: 2019_06_20-PM-02_45_22
Last ObjectModification: 2019_01_09-PM-03_39_35

Theory : num_thy_1


Home Index