Nuprl Lemma : squash-list-exists

[A,B:Type]. ∀[R:A ⟶ B ⟶ ℙ].
  ∀as:A List
    ((∀i:ℕ||as||. (↓∃b:B. R[as[i];b]))  (↓∃bs:B List. ((||bs|| ||as|| ∈ ℤ) ∧ (∀i:ℕ||as||. R[as[i];bs[i]]))))


Proof




Definitions occuring in Statement :  select: L[n] length: ||as|| list: List int_seg: {i..j-} uall: [x:A]. B[x] prop: so_apply: x[s1;s2] all: x:A. B[x] exists: x:A. B[x] squash: T implies:  Q and: P ∧ Q function: x:A ⟶ B[x] natural_number: $n int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] nat: implies:  Q false: False ge: i ≥  uimplies: supposing a not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] top: Top and: P ∧ Q prop: squash: T or: P ∨ Q select: L[n] nil: [] it: so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] so_lambda: λ2x.t[x] guard: {T} int_seg: {i..j-} lelt: i ≤ j < k so_apply: x[s] cons: [a b] le: A ≤ B less_than': less_than'(a;b) colength: colength(L) sq_type: SQType(T) less_than: a < b decidable: Dec(P) subtype_rel: A ⊆B cand: c∧ B uiff: uiff(P;Q) subtract: m nat_plus: + true: True iff: ⇐⇒ Q rev_implies:  Q
Lemmas referenced :  nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf istype-int int_formula_prop_and_lemma istype-void int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_wf ge_wf less_than_wf list-cases length_of_nil_lemma stuck-spread istype-base int_seg_wf squash_wf exists_wf int_seg_properties product_subtype_list colength-cons-not-zero colength_wf_list istype-false le_wf subtract-1-ge-0 subtype_base_sq nat_wf set_subtype_base int_subtype_base spread_cons_lemma decidable__equal_int subtract_wf intformnot_wf intformeq_wf itermSubtract_wf itermAdd_wf int_formula_prop_not_lemma int_formula_prop_eq_lemma int_term_value_subtract_lemma int_term_value_add_lemma decidable__le length_of_cons_lemma length_wf select_wf cons_wf non_neg_length decidable__lt list_wf nil_wf length_nil add-member-int_seg2 select-cons-tl add-subtract-cancel add_nat_plus length_wf_nat nat_plus_properties equal_wf true_wf add_functionality_wrt_eq iff_weakening_equal select_cons_tl subtype_rel_self
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut Error :lambdaFormation_alt,  thin extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality hypothesis setElimination rename intWeakElimination natural_numberEquality independent_isectElimination approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  Error :lambdaEquality_alt,  int_eqEquality dependent_functionElimination Error :isect_memberEquality_alt,  voidElimination sqequalRule independent_pairFormation Error :universeIsType,  imageElimination imageMemberEquality baseClosed Error :functionIsTypeImplies,  Error :inhabitedIsType,  unionElimination Error :functionIsType,  cumulativity applyEquality functionExtensionality because_Cache productElimination promote_hyp hypothesis_subsumption Error :equalityIsType1,  Error :dependent_set_memberEquality_alt,  instantiate intEquality equalityTransitivity equalitySymmetry applyLambdaEquality Error :equalityIsType4,  addEquality universeEquality Error :productIsType,  Error :equalityIsType3

Latex:
\mforall{}[A,B:Type].  \mforall{}[R:A  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}].
    \mforall{}as:A  List
        ((\mforall{}i:\mBbbN{}||as||.  (\mdownarrow{}\mexists{}b:B.  R[as[i];b]))
        {}\mRightarrow{}  (\mdownarrow{}\mexists{}bs:B  List.  ((||bs||  =  ||as||)  \mwedge{}  (\mforall{}i:\mBbbN{}||as||.  R[as[i];bs[i]]))))



Date html generated: 2019_06_20-PM-01_48_38
Last ObjectModification: 2018_10_04-PM-02_28_58

Theory : list_1


Home Index