Nuprl Lemma : decidable__list-match-ext

∀[A,B:Type]. ∀[R:A ⟶ B ⟶ ℙ].
  ((∀a:A. ∀b:B.  Dec(R[a;b])) ⇒ (∀as:A List. ∀bs:B List.  Dec(list-match(as;bs;a,b.R[a;b]))))


Proof




Definitions occuring in Statement :  list-match: list-match(L1;L2;a,b.R[a; b]),  list: T List,  decidable: Dec(P),  uall: ∀[x:A]. B[x],  prop: ℙ,  so_apply: x[s1;s2],  all: ∀x:A. B[x],  implies: P ⇒ Q,  function: x:A ⟶ B[x],  universe: Type
Definitions unfolded in proof :  member: t ∈ T,  eq_int: (i =z j),  btrue: tt,  it: ⋅,  bfalse: ff,  subtract: n - m,  ifthenelse: if b then t else f fi ,  spreadn: spread4,  decidable__list-match,  decidable_functionality,  decidable__list-match-aux,  iff_preserves_decidability,  list_induction,  list_match-aux-nil,  list_match-aux-cons,  sq_stable_from_decidable,  decidable__exists_int_seg,  decidable__and2,  decidable__not,  decidable__assert,  decidable__implies,  decidable__false,  decidable__and,  any: any x,  sq_stable__and,  sq_stable__all,  sq_stable__not,  sq_stable__from_stable,  stable__from_decidable,  uall: ∀[x:A]. B[x],  so_lambda: so_lambda(x,y,z,w.t[x; y; z; w]),  so_apply: x[s1;s2;s3;s4],  so_lambda: λ2x.t[x],  top: Top,  so_apply: x[s],  uimplies: b supposing a
Lemmas referenced :  decidable__list-match,  lifting-strict-callbyvalue,  strict4-decide,  lifting-strict-decide,  lifting-strict-int_eq,  decidable_functionality,  decidable__list-match-aux,  iff_preserves_decidability,  list_induction,  list_match-aux-nil,  list_match-aux-cons,  sq_stable_from_decidable,  decidable__exists_int_seg,  decidable__and2,  decidable__not,  decidable__assert,  decidable__implies,  decidable__false,  decidable__and,  sq_stable__and,  sq_stable__all,  sq_stable__not,  sq_stable__from_stable,  stable__from_decidable
Rules used in proof :  introduction,  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  cut,  instantiate,  extract_by_obid,  hypothesis,  sqequalRule,  thin,  sqequalHypSubstitution,  equalityTransitivity,  equalitySymmetry,  isectElimination,  baseClosed,  isect_memberEquality,  voidElimination,  voidEquality,  independent_isectElimination

Latex:
\mforall{}[A,B:Type].  \mforall{}[R:A  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}a:A.  \mforall{}b:B.    Dec(R[a;b]))  {}\mRightarrow{}  (\mforall{}as:A  List.  \mforall{}bs:B  List.    Dec(list-match(as;bs;a,b.R[a;b]))))



Date html generated: 2018_05_21-PM-00_48_33
Last ObjectModification: 2018_05_19-AM-06_51_13

Theory : list_1


Home Index