@@ -25,8 +25,9 @@ def swap {a b: EVar} (phi: Pattern a b): Pattern a b = $ (sym swap_sym) @@ eVar
2525def moot_swap {a: EVar} (phi: Pattern a): Pattern a = $ (sym swap_sym) @@ eVar a @@ eVar a @@ phi $;
2626term abstraction_sym: Symbol;
2727def abstraction (phi rho: Pattern): Pattern = $ (sym abstraction_sym) @@ phi @@ rho $;
28- term freshness_sym: Symbol;
29- def freshness {a: EVar}: Pattern a = $ (sym freshness_sym) @@ eVar a $;
28+ term supp_sym: Symbol;
29+ def supp (phi: Pattern): Pattern = $ (sym supp_sym) @@ phi $;
30+ def fresh_for {a: EVar} (phi: Pattern a): Pattern a = $ ~ (a in supp phi) $;
3031
3132def EV_pattern {.a .b: EVar} (alpha phi: Pattern): Pattern =
3233$ s_forall alpha a (s_forall alpha b ((swap a b phi) == phi)) $;
@@ -39,10 +40,10 @@ axiom function_abstraction:
3940 $ is_atom_sort alpha $ >
4041 $ is_nominal_sort tau $ >
4142 $ ,(is_function '(sym abstraction_sym) '[alpha tau] '(sort_abstraction alpha tau)) $;
42- axiom pred_freshness :
43+ axiom multifunction_supp :
4344 $ is_atom_sort alpha $ >
4445 $ is_nominal_sort tau $ >
45- $ ,(is_multi_function '(sym freshness_sym ) '[alpha ] 'tau ) $;
46+ $ ,(is_multi_function '(sym supp_sym ) '[tau ] 'alpha ) $;
4647
4748axiom EV_abstraction {a b: EVar} (alpha tau: Pattern) (phi psi: Pattern a b):
4849 $ is_atom_sort alpha $ >
@@ -87,18 +88,18 @@ axiom F1 (alpha tau: Pattern) {a b: EVar} (phi: Pattern a b):
8788 $ (is_atom a alpha) ->
8889 (is_atom b alpha) ->
8990 (is_of_sort phi tau) ->
90- ((phi C= freshness a ) /\ (phi C= freshness b ) -> ((swap a b phi) == phi)) $;
91+ ((fresh_for a phi ) /\ (fresh_for b phi ) -> ((swap a b phi) == phi)) $;
9192axiom F23 (alpha1 alpha2: Pattern) {a b: EVar}:
9293 $ is_atom_sort alpha1 $ >
9394 $ is_atom_sort alpha2 $ >
9495 $ (is_atom a alpha1) ->
9596 (is_atom b alpha2) ->
96- (b in freshness a ) $;
97+ (fresh_for a (eVar b) ) $;
9798axiom F4 (alpha tau phi: Pattern) {a: EVar}:
9899 $ is_atom_sort alpha $ >
99100 $ is_nominal_sort tau $ >
100101 $ (is_of_sort phi tau) ->
101- (s_exists alpha a (phi C= freshness a )) $;
102+ (s_exists alpha a (fresh_for a phi )) $;
102103axiom A1_same (alpha tau: Pattern) {a: EVar} (phi rho: Pattern a):
103104 $ is_atom_sort alpha $ >
104105 $ is_nominal_sort tau $ >
@@ -114,7 +115,7 @@ axiom A1 (alpha tau: Pattern) {a b: EVar} (phi rho: Pattern a b):
114115 (is_of_sort phi tau) ->
115116 (is_of_sort rho tau) ->
116117 (((abstraction (eVar a) phi) == (abstraction (eVar b) rho)) <->
117- ((rho C= freshness a ) /\ ((swap a b phi) == rho))) $;
118+ ((fresh_for a rho ) /\ ((swap a b phi) == rho))) $;
118119axiom A2 (alpha tau: Pattern) {x a y: EVar}:
119120 $ is_atom_sort alpha $ >
120121 $ is_nominal_sort tau $ >
0 commit comments