Nuprl Lemma : decidable__list-match

`∀[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 :  uall: `∀[x:A]. B[x]` implies: `P `` Q` all: `∀x:A. B[x]` member: `t ∈ T` prop: `ℙ` so_lambda: `λ2x.t[x]` so_apply: `x[s1;s2]` so_apply: `x[s]` iff: `P `⇐⇒` Q` and: `P ∧ Q` list-match: `list-match(L1;L2;a,b.R[a; b])` sq_exists: `∃x:A [B[x]]` list-match-aux: `list-match-aux(L1;L2;used;a,b.R[a; b])` cand: `A c∧ B` not: `¬A` subtype_rel: `A ⊆r B` int_seg: `{i..j-}` uimplies: `b supposing a` false: `False` guard: `{T}` lelt: `i ≤ j < k` decidable: `Dec(P)` or: `P ∨ Q` satisfiable_int_formula: `satisfiable_int_formula(fmla)` exists: `∃x:A. B[x]` top: `Top` less_than: `a < b` squash: `↓T` ge: `i ≥ j ` nat: `ℕ` so_lambda: `λ2x y.t[x; y]` rev_implies: `P `` Q`
Lemmas referenced :  list_wf all_wf decidable_wf null_nil_lemma btrue_wf member-implies-null-eq-bfalse nil_wf int_seg_wf length_wf btrue_neq_bfalse l_member_wf inject_wf not_wf select_wf int_seg_properties decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf decidable__lt intformless_wf int_formula_prop_less_lemma non_neg_length lelt_wf length_wf_nat nat_properties list-match_wf list-match-aux_wf decidable_functionality decidable__list-match-aux
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis sqequalRule lambdaEquality applyEquality functionEquality cumulativity universeEquality independent_pairFormation setElimination rename dependent_set_memberFormation productElimination intEquality natural_numberEquality independent_isectElimination equalityTransitivity equalitySymmetry independent_functionElimination voidElimination because_Cache productEquality functionExtensionality dependent_functionElimination unionElimination approximateComputation dependent_pairFormation int_eqEquality isect_memberEquality voidEquality imageElimination dependent_set_memberEquality applyLambdaEquality

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_12
Last ObjectModification: 2018_05_19-AM-06_51_01

Theory : list_1

Home Index