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: List decidable: Dec(P) uall: [x:A]. B[x] prop: so_apply: x[s1;s2] all: x:A. B[x] implies:  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: m ifthenelse: if then else 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: 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