Nuprl Definition : FormSafe1

FormSafe1(f) ==
  Form_ind(f;
           FormVar(v) λvs.False;
           FormConst(c) λvs.False;
           FormSet(x,phi) r.λvs.False;
           FormEqual(a,b) ra,rb.λvs.((↑null(vs))
                                      ∨ (∃x:Atom
                                          (set-equal(Atom;vs;[x])
                                          ∧ (((↑FormVar?(a)) ∧ (FormVar-name(a) x ∈ Atom) ∧ (x ∈ FormFvs(b))))
                                            ∨ ((↑FormVar?(b)) ∧ (FormVar-name(b) x ∈ Atom) ∧ (x ∈ FormFvs(a))))))));
           FormMember(a,b) ra,rb.λvs.((↑null(vs))
                                       ∨ (∃x:Atom
                                           (set-equal(Atom;vs;[x])
                                           ∧ (↑FormVar?(a))
                                           ∧ (FormVar-name(a) x ∈ Atom)
                                           ∧ (((↑FormVar?(b)) ∧ (FormVar-name(b) x ∈ Atom)) ∨ (x ∈ FormFvs(b)))))));
           FormAnd(a,b) ra,rb.λvs.∃as,bs:Atom List
                                     (set-equal(Atom;vs;as bs)
                                     ∧ (ra as)
                                     ∧ (rb bs)
                                     ∧ (l_disjoint(Atom;as;FormFvs(b)) ∨ l_disjoint(Atom;bs;FormFvs(a))));
           FormOr(a,b) ra,rb.λvs.((ra vs) ∧ (rb vs));
           FormNot(a) ra.λvs.((↑null(vs)) ∧ (ra []));
           FormAll(x,phi) r.λvs.False;
           FormExists(x,phi) r.λvs.((¬(x ∈ vs)) ∧ (r [x vs]))) 



Definitions occuring in Statement :  FormFvs: FormFvs(f) Form_ind: Form_ind FormVar-name: FormVar-name(v) FormVar?: FormVar?(v) set-equal: set-equal(T;x;y) l_disjoint: l_disjoint(T;l1;l2) l_member: (x ∈ l) null: null(as) append: as bs cons: [a b] nil: [] list: List assert: b exists: x:A. B[x] not: ¬A or: P ∨ Q and: P ∧ Q false: False apply: a lambda: λx.A[x] atom: Atom equal: t ∈ T
Definitions occuring in definition :  apply: a null: null(as) assert: b and: P ∧ Q lambda: λx.A[x] FormFvs: FormFvs(f) atom: Atom l_disjoint: l_disjoint(T;l1;l2) or: P ∨ Q append: as bs set-equal: set-equal(T;x;y) list: List exists: x:A. B[x] l_member: (x ∈ l) not: ¬A FormVar-name: FormVar-name(v) equal: t ∈ T FormVar?: FormVar?(v) nil: [] cons: [a b] false: False Form_ind: Form_ind
FDL editor aliases :  FormSafe1 FormSafe1

Latex:
FormSafe1(f)  ==
    Form\_ind(f;
                      FormVar(v){}\mRightarrow{}  \mlambda{}vs.False;
                      FormConst(c){}\mRightarrow{}  \mlambda{}vs.False;
                      FormSet(x,phi){}\mRightarrow{}  r.\mlambda{}vs.False;
                      FormEqual(a,b){}\mRightarrow{}  ra,rb.\mlambda{}vs.((\muparrow{}null(vs))
                                                                            \mvee{}  (\mexists{}x:Atom
                                                                                    (set-equal(Atom;vs;[x])
                                                                                    \mwedge{}  (((\muparrow{}FormVar?(a))
                                                                                        \mwedge{}  (FormVar-name(a)  =  x)
                                                                                        \mwedge{}  (\mneg{}(x  \mmember{}  FormFvs(b))))
                                                                                        \mvee{}  ((\muparrow{}FormVar?(b))
                                                                                            \mwedge{}  (FormVar-name(b)  =  x)
                                                                                            \mwedge{}  (\mneg{}(x  \mmember{}  FormFvs(a))))))));
                      FormMember(a,b){}\mRightarrow{}  ra,rb.\mlambda{}vs.((\muparrow{}null(vs))
                                                                              \mvee{}  (\mexists{}x:Atom
                                                                                      (set-equal(Atom;vs;[x])
                                                                                      \mwedge{}  (\muparrow{}FormVar?(a))
                                                                                      \mwedge{}  (FormVar-name(a)  =  x)
                                                                                      \mwedge{}  (((\muparrow{}FormVar?(b))  \mwedge{}  (FormVar-name(b)  =  x))
                                                                                          \mvee{}  (\mneg{}(x  \mmember{}  FormFvs(b)))))));
                      FormAnd(a,b){}\mRightarrow{}  ra,rb.\mlambda{}vs.\mexists{}as,bs:Atom  List
                                                                          (set-equal(Atom;vs;as  @  bs)
                                                                          \mwedge{}  (ra  as)
                                                                          \mwedge{}  (rb  bs)
                                                                          \mwedge{}  (l\_disjoint(Atom;as;FormFvs(b))
                                                                              \mvee{}  l\_disjoint(Atom;bs;FormFvs(a))));
                      FormOr(a,b){}\mRightarrow{}  ra,rb.\mlambda{}vs.((ra  vs)  \mwedge{}  (rb  vs));
                      FormNot(a){}\mRightarrow{}  ra.\mlambda{}vs.((\muparrow{}null(vs))  \mwedge{}  (ra  []));
                      FormAll(x,phi){}\mRightarrow{}  r.\mlambda{}vs.False;
                      FormExists(x,phi){}\mRightarrow{}  r.\mlambda{}vs.((\mneg{}(x  \mmember{}  vs))  \mwedge{}  (r  [x  /  vs]))) 



Date html generated: 2018_05_21-PM-11_27_08
Last ObjectModification: 2017_10_11-PM-09_21_55

Theory : PZF


Home Index