Nuprl Lemma : map-simplify-test

[H,f,g:Base]. ∀[L:Atom List].  (map(λx.H[if x ∈b then f[x] else g[x] fi ];L) map(λx.H[f[x]];L))


Proof




Definitions occuring in Statement :  deq-member: x ∈b L map: map(f;as) list: List atom-deq: AtomDeq ifthenelse: if then else fi  uall: [x:A]. B[x] so_apply: x[s] lambda: λx.A[x] base: Base atom: Atom sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a subtype_rel: A ⊆B all: x:A. B[x] implies:  Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) and: P ∧ Q iff: ⇐⇒ Q ifthenelse: if then else fi  bfalse: ff exists: x:A. B[x] prop: or: P ∨ Q sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b false: False not: ¬A rev_implies:  Q
Lemmas referenced :  map_functionality_wrt_sq atom_subtype_base list_subtype_base deq-member_wf atom-deq_wf bool_wf eqtt_to_assert assert-deq-member eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot l_member_wf list_wf base_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin atomEquality independent_isectElimination hypothesis sqequalRule baseApply closedConclusion baseClosed hypothesisEquality applyEquality lambdaFormation unionElimination equalityElimination because_Cache productElimination dependent_functionElimination independent_functionElimination dependent_pairFormation equalityTransitivity equalitySymmetry promote_hyp instantiate cumulativity voidElimination sqequalAxiom isect_memberEquality

Latex:
\mforall{}[H,f,g:Base].  \mforall{}[L:Atom  List].    (map(\mlambda{}x.H[if  x  \mmember{}\msubb{}  L  then  f[x]  else  g[x]  fi  ];L)  \msim{}  map(\mlambda{}x.H[f[x]];L))



Date html generated: 2017_04_17-AM-09_08_50
Last ObjectModification: 2017_02_27-PM-05_17_07

Theory : decidable!equality


Home Index