Nuprl Lemma : insert-cases2

∀[T:Type]. ∀eq:EqDecider(T). ∀a:T. ∀L:T List.  (((a ∈ L) ∧ (insert(a;L) ~ L)) ∨ ((¬(a ∈ L)) ∧ (insert(a;L) ~ [a / L])))


Proof




Definitions occuring in Statement :  insert: insert(a;L),  l_member: (x ∈ l),  cons: [a / b],  list: T List,  deq: EqDecider(T),  uall: ∀[x:A]. B[x],  all: ∀x:A. B[x],  not: ¬A,  or: P ∨ Q,  and: P ∧ Q,  universe: Type,  sqequal: s ~ t
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  all: ∀x:A. B[x],  insert: insert(a;L),  member: t ∈ T,  subtype_rel: A ⊆r B,  uimplies: b supposing a,  top: Top,  or: P ∨ Q,  and: P ∧ Q,  cand: A c∧ B,  prop: ℙ,  not: ¬A,  implies: P ⇒ Q,  false: False,  guard: {T},  has-value: (a)↓,  bool: 𝔹,  unit: Unit,  it: ⋅,  btrue: tt,  iff: P ⇐⇒ Q,  rev_implies: P ⇐ Q,  ifthenelse: if b then t else f fi ,  bfalse: ff
Lemmas referenced :  list_wf,  deq_wf,  subtype_rel_list,  top_wf,  value-type-has-value,  list-value-type,  deq-member_wf,  bool_wf,  equal-wf-T-base,  assert_wf,  l_member_wf,  not_wf,  bnot_wf,  eval_list_sq,  iff_transitivity,  iff_weakening_uiff,  eqtt_to_assert,  assert-deq-member,  eqff_to_assert,  assert_of_bnot,  equal_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  lambdaFormation,  cut,  introduction,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  cumulativity,  hypothesisEquality,  hypothesis,  universeEquality,  applyEquality,  because_Cache,  independent_isectElimination,  lambdaEquality,  isect_memberEquality,  voidElimination,  voidEquality,  sqequalRule,  equalityTransitivity,  equalitySymmetry,  baseClosed,  inlFormation,  independent_pairFormation,  productEquality,  sqequalIntensionalEquality,  independent_functionElimination,  baseApply,  closedConclusion,  inrFormation,  callbyvalueReduce,  unionElimination,  equalityElimination,  dependent_functionElimination,  productElimination,  impliesFunctionality

Latex:
\mforall{}[T:Type]
    \mforall{}eq:EqDecider(T).  \mforall{}a:T.  \mforall{}L:T  List.
        (((a  \mmember{}  L)  \mwedge{}  (insert(a;L)  \msim{}  L))  \mvee{}  ((\mneg{}(a  \mmember{}  L))  \mwedge{}  (insert(a;L)  \msim{}  [a  /  L])))



Date html generated: 2017_04_14-AM-08_53_48
Last ObjectModification: 2017_02_27-PM-03_37_44

Theory : list_0


Home Index