Nuprl Lemma : list-diff-cons

[T:Type]. ∀[eq:EqDecider(T)]. ∀[as,bs:T List]. ∀[x:T].
  ([x as]-bs if x ∈b bs then as-bs else [x as-bs] fi  ∈ (T List))


Proof




Definitions occuring in Statement :  list-diff: as-bs deq-member: x ∈b L cons: [a b] list: List deq: EqDecider(T) ifthenelse: if then else fi  uall: [x:A]. B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  list-diff: as-bs uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] implies:  Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) and: P ∧ Q uimplies: supposing a iff: ⇐⇒ Q top: Top ifthenelse: if then else fi  bnot: ¬bb bfalse: ff prop: exists: x:A. B[x] or: P ∨ Q sq_type: SQType(T) guard: {T} assert: b false: False not: ¬A rev_implies:  Q
Lemmas referenced :  deq-member_wf bool_wf eqtt_to_assert assert-deq-member filter_cons_lemma filter_wf5 l_member_wf bnot_wf eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot cons_wf list_wf deq_wf
Rules used in proof :  sqequalSubstitution sqequalRule sqequalReflexivity sqequalTransitivity computationStep isect_memberFormation introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin cumulativity hypothesisEquality hypothesis lambdaFormation unionElimination equalityElimination because_Cache productElimination independent_isectElimination dependent_functionElimination independent_functionElimination isect_memberEquality voidElimination voidEquality lambdaEquality setElimination rename setEquality dependent_pairFormation equalityTransitivity equalitySymmetry promote_hyp instantiate axiomEquality universeEquality

Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[as,bs:T  List].  \mforall{}[x:T].
    ([x  /  as]-bs  =  if  x  \mmember{}\msubb{}  bs  then  as-bs  else  [x  /  as-bs]  fi  )



Date html generated: 2017_04_17-AM-09_12_55
Last ObjectModification: 2017_02_27-PM-05_19_42

Theory : decidable!equality


Home Index