@@ -89,24 +89,23 @@ axiom F1 (alpha tau: Pattern) {a b: EVar} (phi: Pattern a b):
89
89
(is_atom b alpha) ->
90
90
(is_of_sort phi tau) ->
91
91
((fresh_for a phi) /\ (fresh_for b phi) -> ((swap a b phi) == phi)) $;
92
- axiom F23 (alpha1 alpha2: Pattern) {a b: EVar}:
92
+ axiom F2 (alpha: Pattern) {a b: EVar}:
93
+ $ is_atom_sort alpha $ >
94
+ $ (is_atom a alpha) ->
95
+ (is_atom b alpha) ->
96
+ ((b in freshness a) <-> (eVar a != eVar b)) $;
97
+ axiom F3 (alpha1 alpha2: Pattern) {a b: EVar}:
93
98
$ is_atom_sort alpha1 $ >
94
99
$ is_atom_sort alpha2 $ >
95
100
$ (is_atom a alpha1) ->
96
101
(is_atom b alpha2) ->
102
+ (alpha1 != alpha2) ->
97
103
(fresh_for a (eVar b)) $;
98
104
axiom F4 (alpha tau phi: Pattern) {a: EVar}:
99
105
$ is_atom_sort alpha $ >
100
106
$ is_nominal_sort tau $ >
101
107
$ (is_of_sort phi tau) ->
102
108
(s_exists alpha a (fresh_for a phi)) $;
103
- axiom A1_same (alpha tau: Pattern) {a: EVar} (phi rho: Pattern a):
104
- $ is_atom_sort alpha $ >
105
- $ is_nominal_sort tau $ >
106
- $ (is_atom a alpha) ->
107
- (is_of_sort phi tau) ->
108
- (is_of_sort rho tau) ->
109
- (((abstraction (eVar a) phi) == (abstraction (eVar a) rho)) <-> (phi == rho)) $;
110
109
axiom A1 (alpha tau: Pattern) {a b: EVar} (phi rho: Pattern a b):
111
110
$ is_atom_sort alpha $ >
112
111
$ is_nominal_sort tau $ >
@@ -115,7 +114,8 @@ axiom A1 (alpha tau: Pattern) {a b: EVar} (phi rho: Pattern a b):
115
114
(is_of_sort phi tau) ->
116
115
(is_of_sort rho tau) ->
117
116
(((abstraction (eVar a) phi) == (abstraction (eVar b) rho)) <->
118
- ((fresh_for a rho) /\ ((swap a b phi) == rho))) $;
117
+ ((eVar a == eVar b) /\ (phi == rho)) \/
118
+ ((rho C= freshness a) /\ ((swap a b phi) == rho))) $;
119
119
axiom A2 (alpha tau: Pattern) {x a y: EVar}:
120
120
$ is_atom_sort alpha $ >
121
121
$ is_nominal_sort tau $ >
0 commit comments