Nuprl Lemma : satisfies-gcd-reduce-eq-constraints

∀[n:ℕ+]. ∀[eqs,sat:{L:ℤ List| ||L|| = n ∈ ℤ}  List]. ∀[xs:{L:ℤ List| ||L|| = n ∈ ℤ} ].
  uiff((∀as∈eqs.xs ⋅ as =0);(↑isl(gcd-reduce-eq-constraints(sat;eqs)))
  ∧ (∀as∈outl(gcd-reduce-eq-constraints(sat;eqs)).xs ⋅ as =0)) 
  supposing (∀as∈sat.xs ⋅ as =0) ∧ 0 < ||xs|| ∧ (hd(xs) = 1 ∈ ℤ)


Proof




Definitions occuring in Statement :  gcd-reduce-eq-constraints: gcd-reduce-eq-constraints(sat;LL),  satisfies-integer-equality: xs ⋅ as =0,  l_all: (∀x∈L.P[x]),  length: ||as||,  hd: hd(l),  list: T List,  nat_plus: ℕ+,  outl: outl(x),  assert: ↑b,  isl: isl(x),  less_than: a < b,  uiff: uiff(P;Q),  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  and: P ∧ Q,  set: {x:A| B[x]} ,  natural_number: $n,  int: ℤ,  equal: s = t ∈ T
Definitions unfolded in proof :  uiff: uiff(P;Q),  and: P ∧ Q,  uimplies: b supposing a,  member: t ∈ T,  uall: ∀[x:A]. B[x],  implies: P ⇒ Q,  l_all: (∀x∈L.P[x]),  all: ∀x:A. B[x],  satisfies-integer-equality: xs ⋅ as =0,  subtype_rel: A ⊆r B,  nat_plus: ℕ+,  so_lambda: λ2x.t[x],  so_apply: x[s],  prop: ℙ,  int_seg: {i..j-},  lelt: i ≤ j < k,  le: A ≤ B,  isl: isl(x),  outl: outl(x),  not: ¬A,  false: False,  listp: A List+,  less_than: a < b,  squash: ↓T,  cand: A c∧ B,  guard: {T},  cons: [a / b],  or: P ∨ Q,  less_than': less_than'(a;b),  length: ||as||,  list_ind: list_ind,  nil: [],  it: ⋅,  sq_type: SQType(T),  top: Top,  true: True,  subtract: n - m,  rev_implies: P ⇐ Q,  iff: P ⇐⇒ Q,  decidable: Dec(P),  sq_stable: SqStable(P),  so_apply: x[s1;s2],  so_lambda: λ2x y.t[x; y],  colength: colength(L),  ge: i ≥ j ,  nat: ℕ,  gcd-reduce-eq-constraints: gcd-reduce-eq-constraints(sat;LL),  assert: ↑b,  ifthenelse: if b then t else f fi ,  btrue: tt,  eager-map: eager-map(f;as),  bfalse: ff,  exposed-bfalse: exposed-bfalse,  bool: 𝔹,  unit: Unit,  exists: ∃x:A. B[x],  bnot: ¬bb,  nequal: a ≠ b ∈ T ,  callbyvalueall: callbyvalueall,  has-value: (a)↓,  has-valueall: has-valueall(a),  outr: outr(x),  evalall: evalall(t),  rev_uimplies: rev_uimplies(P;Q),  int_nzero: ℤ-o,  pi1: fst(t),  hd: hd(l),  int-vec-mul: a * as,  compose: f o g,  gt: i > j,  int_lower: {...i},  l_member: (x ∈ l),  select: L[n]
Lemmas referenced :  assert_witness,  member-less_than,  l_all_wf,  list_wf,  equal-wf-base,  list_subtype_base,  int_subtype_base,  set_subtype_base,  less_than_wf,  satisfies-integer-equality_wf,  l_member_wf,  istype-assert,  gcd-reduce-eq-constraints_wf,  btrue_wf,  bfalse_wf,  listp_wf,  assert_elim,  btrue_neq_bfalse,  subtype_rel_list,  istype-int,  subtype_rel_sets_simple,  length_wf,  less_than_transitivity1,  le_weakening,  istype-less_than,  equal_wf,  nat_plus_wf,  product_subtype_list,  list-cases,  subtype_base_sq,  reduce_hd_cons_lemma,  istype-void,  length_of_cons_lemma,  istype-nat,  le_weakening2,  minus-minus,  le-add-cancel,  zero-add,  add-commutes,  add_functionality_wrt_le,  le_antisymmetry_iff,  minus-one-mul-top,  add-swap,  minus-one-mul,  minus-add,  add-associates,  condition-implies-le,  not-equal-2,  istype-false,  subtract_wf,  decidable__equal_int,  sq_stable__le,  spread_cons_lemma,  le_wf,  nat_wf,  subtract-1-ge-0,  istype-le,  colength_wf_list,  colength-cons-not-zero,  set_wf,  ge_wf,  less_than_irreflexivity,  nat_properties,  accumulate_abort_nil_lemma,  l_all_wf_nil,  cons_wf,  length_of_nil_lemma,  eager_map_nil_lemma,  istype-true,  null_nil_lemma,  null_cons_lemma,  null_wf,  decidable__assert,  eager_map_cons_lemma,  cons-listp,  accumulate_abort_cons_lemma,  eq_int_wf,  eqtt_to_assert,  assert_of_eq_int,  valueall-type-has-valueall,  union-valueall-type,  list-valueall-type,  int-valueall-type,  void-valueall-type,  nil_wf,  eqff_to_assert,  bool_cases_sqequal,  bool_wf,  bool_subtype_base,  assert-bnot,  neg_assert_of_eq_int,  unit_wf2,  equal-valueall-type,  it_wf,  evalall-reduce,  l_all_cons,  int_dot_cons_lemma,  int_dot_nil_left_lemma,  mul-commutes,  add-zero,  one-mul,  non_neg_length,  length_wf_nat,  istype-sqequal,  le-add-cancel2,  add-mul-special,  two-mul,  mul-distributes-right,  zero-mul,  nat_plus_properties,  int-value-type,  value-type-has-value,  not-lt-2,  decidable__lt,  gcd-list_wf,  absval_wf,  istype-top,  top_wf,  nequal_wf,  less-iff-le,  not-le-2,  decidable__le,  remainder_wfa,  accumulate_abort-aborted,  eager-map_wf,  list-value-type,  divide_wfa,  eager-map-is-map,  map-length,  map_wf,  gcd-list-property,  minus-zero,  assert_wf,  iff_weakening_uiff,  assert_of_lt_int,  lt_int_wf,  absval_unfold2,  int-eq-constraint-factor-sym,  absval-positive,  squash_wf,  true_wf,  istype-universe,  integer-dot-product_wf,  subtype_rel_self,  iff_weakening_equal,  absval_pos,  map-map,  list_extensionality,  map_length,  length-map,  select-map,  divide-exact,  select_wf,  not-gt-2,  absval_neg,  div_anti_sym,  mul-minus-1,  map_cons_lemma,  int-dot-mul-left,  zero_ann_a,  rem_sym,  l_all_nil,  equal-wf-base-T,  subtype_rel_sets,  isl_wf,  and_wf,  length-singleton,  int_dot_cons_nil_lemma,  add-is-int-iff,  trivial-equal,  l_all_iff,  member-gcd-reduce-constraints,  add_nat_plus,  mul_preserves_eq,  int-vec-mul_wf,  div_rem_sum,  add_functionality_wrt_eq,  absval_lbound,  absval-non-neg,  mul-associates,  mul-swap
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  independent_pairFormation,  isect_memberFormation_alt,  introduction,  cut,  sqequalRule,  sqequalHypSubstitution,  productElimination,  thin,  independent_pairEquality,  extract_by_obid,  isectElimination,  because_Cache,  independent_functionElimination,  hypothesis,  lambdaEquality_alt,  dependent_functionElimination,  hypothesisEquality,  axiomEquality,  independent_isectElimination,  functionIsTypeImplies,  inhabitedIsType,  universeIsType,  setEquality,  intEquality,  baseApply,  closedConclusion,  baseClosed,  applyEquality,  natural_numberEquality,  equalityTransitivity,  equalitySymmetry,  setElimination,  rename,  setIsType,  productIsType,  lambdaFormation_alt,  unionElimination,  equalityIstype,  dependent_set_memberEquality_alt,  applyLambdaEquality,  voidElimination,  imageElimination,  sqequalBase,  isect_memberEquality_alt,  isectIsTypeImplies,  hypothesis_subsumption,  promote_hyp,  cumulativity,  instantiate,  minusEquality,  addEquality,  imageMemberEquality,  intWeakElimination,  functionIsType,  sqleReflexivity,  callbyvalueReduce,  equalityElimination,  int_eqReduceTrueSq,  unionEquality,  voidEquality,  inlEquality_alt,  dependent_pairFormation_alt,  int_eqReduceFalseSq,  inrEquality_alt,  int_eqEquality,  multiplyEquality,  lessCases,  axiomSqEquality,  inrFormation_alt,  inlFormation_alt,  universeEquality,  hyp_replacement,  Error :memTop,  lambdaFormation,  isect_memberEquality,  lambdaEquality,  addLevel,  levelHypothesis,  dependent_set_memberEquality

Latex:
\mforall{}[n:\mBbbN{}\msupplus{}].  \mforall{}[eqs,sat:\{L:\mBbbZ{}  List|  ||L||  =  n\}    List].  \mforall{}[xs:\{L:\mBbbZ{}  List|  ||L||  =  n\}  ].
    uiff((\mforall{}as\mmember{}eqs.xs  \mcdot{}  as  =0);(\muparrow{}isl(gcd-reduce-eq-constraints(sat;eqs)))
    \mwedge{}  (\mforall{}as\mmember{}outl(gcd-reduce-eq-constraints(sat;eqs)).xs  \mcdot{}  as  =0)) 
    supposing  (\mforall{}as\mmember{}sat.xs  \mcdot{}  as  =0)  \mwedge{}  0  <  ||xs||  \mwedge{}  (hd(xs)  =  1)



Date html generated: 2020_05_19-PM-09_38_47
Last ObjectModification: 2020_01_01-AM-10_05_12

Theory : omega


Home Index