Nuprl Lemma : free-vars_functionality

[opr:Type]. ∀t1,t2:term(opr).  (alpha-eq-terms(opr;t1;t2)  (free-vars(t1) free-vars(t2) ∈ (varname() List)))


Proof




Definitions occuring in Statement :  free-vars: free-vars(t) alpha-eq-terms: alpha-eq-terms(opr;a;b) term: term(opr) varname: varname() list: List uall: [x:A]. B[x] all: x:A. B[x] implies:  Q universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T free-vars: free-vars(t) alpha-eq-terms: alpha-eq-terms(opr;a;b) so_lambda: λ2x.t[x] prop: implies:  Q subtype_rel: A ⊆B uimplies: supposing a not: ¬A false: False so_apply: x[s] alpha-aux: alpha-aux(opr;vs;ws;a;b) varterm: varterm(v) mkterm: mkterm(opr;bts) bound-term: bound-term(opr) pi2: snd(t) respects-equality: respects-equality(S;T) guard: {T} free-vars-aux: free-vars-aux(bnds;t) nat: ge: i ≥  satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] and: P ∧ Q or: P ∨ Q same-binding: same-binding(vs;ws;v;w) nil: [] it: ifthenelse: if then else fi  bfalse: ff uiff: uiff(P;Q) squash: T true: True iff: ⇐⇒ Q rev_implies:  Q cons: [a b] colength: colength(L) sq_type: SQType(T) so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] assert: b decidable: Dec(P) le: A ≤ B less_than': less_than'(a;b) less_than: a < b var-deq: VarDeq bool: 𝔹 unit: Unit btrue: tt bnot: ¬bb bor: p ∨bq band: p ∧b q int_seg: {i..j-} lelt: i ≤ j < k pi1: fst(t) select: L[n] l-union-list: l-union-list(eq;ll) list_ind: list_ind map: map(f;as) label: ...$L... t subtract: m
Lemmas referenced :  nil_wf varname_wf term_wf istype-universe term-induction list_wf alpha-aux_wf equal_wf free-vars-aux_wf subtype_rel_list not_wf equal-wf-T-base nullvar_wf istype-void varterm_wf mkterm_wf bound-term_wf l_member_wf respects-equality-list respects-equality-set-trivial2 nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf istype-int int_formula_prop_and_lemma 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 istype-less_than list-cases deq_member_nil_lemma assert-eq_var squash_wf true_wf cons_wf subtype_rel_self iff_weakening_equal istype-assert eq_var_wf product_subtype_list colength-cons-not-zero subtract-1-ge-0 subtype_base_sq intformeq_wf int_formula_prop_eq_lemma set_subtype_base int_subtype_base spread_cons_lemma deq_member_cons_lemma colength_wf_list decidable__le intformnot_wf int_formula_prop_not_lemma istype-le decidable__equal_int subtract_wf itermSubtract_wf itermAdd_wf int_term_value_subtract_lemma int_term_value_add_lemma le_wf istype-nat eqtt_to_assert testxxx_lemma istype-true eqff_to_assert bool_cases_sqequal bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf same-binding_wf alpha-aux-mkterm select_wf int_seg_properties decidable__lt select_member rev-append_wf int_seg_wf length_wf length_of_nil_lemma stuck-spread istype-base length_of_cons_lemma le_weakening2 non_neg_length add-is-int-iff false_wf map_cons_lemma l-union-list_wf deq_wf var-deq_wf list_extensionality map_wf map-length select-map top_wf map_length select_cons_tl_sq2 add-associates add-swap add-commutes zero-add add-subtract-cancel
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt cut lambdaFormation_alt hypothesis sqequalHypSubstitution dependent_functionElimination thin hypothesisEquality introduction extract_by_obid isectElimination because_Cache universeIsType instantiate universeEquality sqequalRule lambdaEquality_alt functionEquality applyEquality setEquality baseClosed independent_isectElimination setElimination rename setIsType functionIsType equalityIstype independent_functionElimination voidElimination inhabitedIsType equalityTransitivity equalitySymmetry productElimination intWeakElimination natural_numberEquality approximateComputation dependent_pairFormation_alt int_eqEquality Error :memTop,  independent_pairFormation axiomEquality functionIsTypeImplies unionElimination imageElimination imageMemberEquality promote_hyp hypothesis_subsumption applyLambdaEquality dependent_set_memberEquality_alt baseApply closedConclusion intEquality sqequalBase equalityElimination cumulativity productEquality addEquality pointwiseFunctionality productIsType spreadEquality independent_pairEquality

Latex:
\mforall{}[opr:Type].  \mforall{}t1,t2:term(opr).    (alpha-eq-terms(opr;t1;t2)  {}\mRightarrow{}  (free-vars(t1)  =  free-vars(t2)))



Date html generated: 2020_05_19-PM-09_56_13
Last ObjectModification: 2020_03_09-PM-04_09_15

Theory : terms


Home Index