### Nuprl Lemma : lifting-gen-list-rev_wf

`∀[B:Type]. ∀[n:ℕ]. ∀[m:ℕn + 1]. ∀[A:ℕn ⟶ Type]. ∀[bags:k:ℕn ⟶ bag(A k)]. ∀[g:funtype(n - m;λx.(A (x + m));B)].`
`  (lifting-gen-list-rev(n;bags) m g ∈ bag(B))`

Proof

Definitions occuring in Statement :  lifting-gen-list-rev: `lifting-gen-list-rev(n;bags)` bag: `bag(T)` funtype: `funtype(n;A;T)` int_seg: `{i..j-}` nat: `ℕ` uall: `∀[x:A]. B[x]` member: `t ∈ T` apply: `f a` lambda: `λx.A[x]` function: `x:A ⟶ B[x]` subtract: `n - m` add: `n + m` natural_number: `\$n` universe: `Type`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` exists: `∃x:A. B[x]` nat: `ℕ` int_seg: `{i..j-}` guard: `{T}` ge: `i ≥ j ` lelt: `i ≤ j < k` and: `P ∧ Q` all: `∀x:A. B[x]` decidable: `Dec(P)` or: `P ∨ Q` uimplies: `b supposing a` satisfiable_int_formula: `satisfiable_int_formula(fmla)` false: `False` implies: `P `` Q` not: `¬A` top: `Top` prop: `ℙ` sq_type: `SQType(T)` squash: `↓T` le: `A ≤ B` true: `True` subtype_rel: `A ⊆r B` iff: `P `⇐⇒` Q` uiff: `uiff(P;Q)` less_than: `a < b` lifting-gen-list-rev: `lifting-gen-list-rev(n;bags)` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` ifthenelse: `if b then t else f fi ` funtype: `funtype(n;A;T)` subtract: `n - m` bfalse: `ff` rev_implies: `P `` Q` so_lambda: `λ2x.t[x]` so_apply: `x[s]`
Lemmas referenced :  subtract_wf int_seg_properties nat_properties decidable__le satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermConstant_wf itermSubtract_wf itermVar_wf intformless_wf itermAdd_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_subtract_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_term_value_add_lemma int_formula_prop_wf le_wf decidable__equal_int intformeq_wf int_formula_prop_eq_lemma equal_wf subtype_base_sq int_subtype_base lelt_wf squash_wf true_wf iff_weakening_equal ge_wf less_than_wf funtype_wf int_seg_wf add-member-int_seg2 bag_wf eq_int_wf bool_wf uiff_transitivity equal-wf-T-base assert_wf eqtt_to_assert assert_of_eq_int single-bag_wf subtype_rel-equal primrec_wf minus-zero minus-add minus-one-mul add-zero add-mul-special zero-mul primrec0_lemma iff_transitivity bnot_wf not_wf iff_weakening_uiff eqff_to_assert assert_of_bnot bag-combine_wf nat_wf add-member-int_seg1 decidable__lt primrec-unroll equal-wf-base add-associates minus-minus add-swap add-commutes one-mul itermMultiply_wf int_term_value_mul_lemma bool_cases bool_subtype_base
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut dependent_pairFormation dependent_set_memberEquality extract_by_obid sqequalHypSubstitution isectElimination thin setElimination rename because_Cache hypothesis hypothesisEquality natural_numberEquality addEquality productElimination dependent_functionElimination unionElimination independent_isectElimination lambdaEquality int_eqEquality intEquality isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation computeAll instantiate cumulativity equalityTransitivity equalitySymmetry independent_functionElimination applyEquality imageElimination imageMemberEquality baseClosed universeEquality intWeakElimination lambdaFormation axiomEquality functionExtensionality functionEquality equalityElimination multiplyEquality minusEquality impliesFunctionality

Latex:
\mforall{}[B:Type].  \mforall{}[n:\mBbbN{}].  \mforall{}[m:\mBbbN{}n  +  1].  \mforall{}[A:\mBbbN{}n  {}\mrightarrow{}  Type].  \mforall{}[bags:k:\mBbbN{}n  {}\mrightarrow{}  bag(A  k)].
\mforall{}[g:funtype(n  -  m;\mlambda{}x.(A  (x  +  m));B)].
(lifting-gen-list-rev(n;bags)  m  g  \mmember{}  bag(B))

Date html generated: 2017_10_01-AM-09_02_54
Last ObjectModification: 2017_07_26-PM-04_43_56

Theory : bags

Home Index