Confluence Properties on Open Terms in the First

Confluence Properties on Open Terms
in the First-Order Theory of Rewriting
Franziska Rapp
joint work with
Aart Middeldorp
University of Innsbruck
IWC 2016, Obergurgl, September 8
FORT
property
TRS
decision mode
yes | no | ?
FR (ICS @ UIBK)
FORT 0.2
2/19
FORT
property
TRS
synthesis mode
no | ?
FR (ICS @ UIBK)
FORT 0.2
2/19
FORT
property
TRS
∀ s ∃ t (s →∗ t ∧ ¬ ∃ u (t → u)
k v ∨ v →
− t))
=⇒ ∃ v (s −
→
yes | no | ?
FR (ICS @ UIBK)
FORT 0.2
2/19
FORT
property
TRS
∀ s ∃ t (s →∗ t ∧ ¬ ∃ u (t → u)
k v ∨ v →
− t))
=⇒ ∃ v (s −
→
yes | no | ?
FORT is based on tree automata techniques (Dauchet and Tison, LICS 1990)
FR (ICS @ UIBK)
FORT 0.2
2/19
Outline
First-Order Theory of Rewriting
Automation
Properties on Open Terms
Experiments
Future Work
FR (ICS @ UIBK)
FORT 0.2
3/19
First-Order Theory of Rewriting
First-Order Theory of Rewriting
• first-order logic over a language L without function symbols
FR (ICS @ UIBK)
FORT 0.2
4/19
First-Order Theory of Rewriting
First-Order Theory of Rewriting
• first-order logic over a language L without function symbols
• L contains the following binary predicate symbols:
→
FR (ICS @ UIBK)
→+
→∗
→!
k
−
→
FORT 0.2
→
−
>
−−→
↔
↔∗
↓
=
4/19
First-Order Theory of Rewriting
First-Order Theory of Rewriting
• first-order logic over a language L without function symbols
• L contains the following binary predicate symbols:
→
→+
→∗
→!
k
−
→
→
−
>
−−→
↔
↔∗
↓
=
• models of L are finite left-linear right-ground TRSs
FR (ICS @ UIBK)
FORT 0.2
4/19
First-Order Theory of Rewriting
First-Order Theory of Rewriting
• first-order logic over a language L without function symbols
• L contains the following binary predicate symbols:
→
→+
→∗
→!
k
−
→
→
−
>
−−→
↔
↔∗
↓
=
• models of L are finite left-linear right-ground TRSs
• set of ground terms serves as domain for variables in formulas over L
FR (ICS @ UIBK)
FORT 0.2
4/19
First-Order Theory of Rewriting
First-Order Theory of Rewriting
• first-order logic over a language L without function symbols
• L contains the following binary predicate symbols:
→
→+
→∗
→!
k
−
→
→
−
>
−−→
↔
↔∗
↓
=
• models of L are finite left-linear right-ground TRSs
• set of ground terms serves as domain for variables in formulas over L
FR (ICS @ UIBK)
FORT 0.2
4/19
First-Order Theory of Rewriting
Derived Predicates
s →∗ t ⇐⇒ s →+ t ∨ s = t
s ↔ t ⇐⇒ s → t ∨ t → s
s →! t ⇐⇒ s →∗ t ∧ ¬ ∃ u (t → u)
FR (ICS @ UIBK)
FORT 0.2
s ↓ t ⇐⇒ ∃ u (s →∗ u ∧ t →∗ u)
5/19
First-Order Theory of Rewriting
Derived Predicates
s →∗ t ⇐⇒ s →+ t ∨ s = t
s ↔ t ⇐⇒ s → t ∨ t → s
s →! t ⇐⇒ s →∗ t ∧ ¬ ∃ u (t → u)
s ↓ t ⇐⇒ ∃ u (s →∗ u ∧ t →∗ u)
CR(t) ⇐⇒ ∀ u ∀ v (t →∗ u ∧ t → v =⇒ u ↓ v )
FR (ICS @ UIBK)
FORT 0.2
5/19
First-Order Theory of Rewriting
Derived Predicates
s →∗ t ⇐⇒ s →+ t ∨ s = t
s ↔ t ⇐⇒ s → t ∨ t → s
s →! t ⇐⇒ s →∗ t ∧ ¬ ∃ u (t → u)
s ↓ t ⇐⇒ ∃ u (s →∗ u ∧ t →∗ u)
CR(t) ⇐⇒ ∀ u ∀ v (t →∗ u ∧ t → v =⇒ u ↓ v )
FR (ICS @ UIBK)
FORT 0.2
CR ⇐⇒ ∀ t CR(t)
5/19
First-Order Theory of Rewriting
Derived Predicates
s →∗ t ⇐⇒ s →+ t ∨ s = t
s ↔ t ⇐⇒ s → t ∨ t → s
s →! t ⇐⇒ s →∗ t ∧ ¬ ∃ u (t → u)
s ↓ t ⇐⇒ ∃ u (s →∗ u ∧ t →∗ u)
CR(t) ⇐⇒ ∀ u ∀ v (t →∗ u ∧ t → v =⇒ u ↓ v )
WCR(t) ⇐⇒ ∀ u ∀ v (t → u ∧ t → v =⇒ u ↓ v )
!
CR ⇐⇒ ∀ t CR(t)
WCR ⇐⇒ ∀ t WCR(t)
WN(t) ⇐⇒ ∃ u (t → u)
WN ⇐⇒ ∀ t WN(t)
UN(t) ⇐⇒ ∀ u ∀ v (t →! u ∧ t →! v =⇒ u = v )
UN ⇐⇒ ∀ t UN(t)
NFP(t) ⇐⇒ ∀ u ∀ v (t → u ∧ t →! v =⇒ u →! v )
NFP ⇐⇒ ∀ t NFP(t)
NF(t) ⇐⇒ ¬ ∃ u (t → u)
UNC ⇐⇒ ∀ t ∀ u (t ↔∗ u ∧ NF(t) ∧ NF(u) =⇒ t = u)
FR (ICS @ UIBK)
FORT 0.2
5/19
Automation
Outline
First-Order Theory of Rewriting
Automation
Properties on Open Terms
Experiments
Future Work
FR (ICS @ UIBK)
FORT 0.2
6/19
Automation
Translation
• binary predicates are RR2 relations and implemented via tree automata
k
• ground tree transducers (GTTs) for −
→
• RRn automata for all relations
FR (ICS @ UIBK)
FORT 0.2
7/19
Automation
Translation
• binary predicates are RR2 relations and implemented via tree automata
k
• ground tree transducers (GTTs) for −
→
• RRn automata for all relations
• implications and universal quantifiers are eliminated
ϕ ⇒ ψ ≡ ¬ϕ ∨ ψ
FR (ICS @ UIBK)
FORT 0.2
∀x ϕ ≡ ¬∃x ¬ϕ
7/19
Automation
Translation
• binary predicates are RR2 relations and implemented via tree automata
k
• ground tree transducers (GTTs) for −
→
• RRn automata for all relations
• implications and universal quantifiers are eliminated
ϕ ⇒ ψ ≡ ¬ϕ ∨ ψ
∀x ϕ ≡ ¬∃x ¬ϕ
• negations are pushed inside and double negations are eliminated
FR (ICS @ UIBK)
FORT 0.2
7/19
Automation
Translation
• binary predicates are RR2 relations and implemented via tree automata
k
• ground tree transducers (GTTs) for −
→
• RRn automata for all relations
• implications and universal quantifiers are eliminated
ϕ ⇒ ψ ≡ ¬ϕ ∨ ψ
∀x ϕ ≡ ¬∃x ¬ϕ
• negations are pushed inside and double negations are eliminated
• remaining propositional connectives are implemented by corresponding
closure operations on RRn automata
FR (ICS @ UIBK)
FORT 0.2
7/19
Automation
Translation
• binary predicates are RR2 relations and implemented via tree automata
k
• ground tree transducers (GTTs) for −
→
• RRn automata for all relations
• implications and universal quantifiers are eliminated
ϕ ⇒ ψ ≡ ¬ϕ ∨ ψ
∀x ϕ ≡ ¬∃x ¬ϕ
• negations are pushed inside and double negations are eliminated
• remaining propositional connectives are implemented by corresponding
closure operations on RRn automata
• existential quantifiers are implemented using projection
FR (ICS @ UIBK)
FORT 0.2
7/19
Automation
Translation
• binary predicates are RR2 relations and implemented via tree automata
k
• ground tree transducers (GTTs) for −
→
• RRn automata for all relations
• implications and universal quantifiers are eliminated
ϕ ⇒ ψ ≡ ¬ϕ ∨ ψ
∀x ϕ ≡ ¬∃x ¬ϕ
• negations are pushed inside and double negations are eliminated
• remaining propositional connectives are implemented by corresponding
closure operations on RRn automata
• existential quantifiers are implemented using projection
Remark
formulas are not transformed into prenex normal form, since this increases the
dimension of involved relations
FR (ICS @ UIBK)
FORT 0.2
7/19
Properties on Open Terms
Outline
First-Order Theory of Rewriting
Automation
Properties on Open Terms
Experiments
Future Work
FR (ICS @ UIBK)
FORT 0.2
8/19
Properties on Open Terms
Definition
TRS is confluent if ∀ s ∀ t ∀ u s →∗ t ∧ s →∗ u =⇒ ∃ v (t →∗ v ∧ u →∗ v )
FR (ICS @ UIBK)
FORT 0.2
9/19
Properties on Open Terms
Definition
TRS is confluent if ∀ s ∀ t ∀ u s →∗ t ∧ s →∗ u =⇒ ∃ v (t →∗ v ∧ u →∗ v )
Remarks
• variables s, t, u, v range over all terms
FR (ICS @ UIBK)
FORT 0.2
9/19
Properties on Open Terms
Definition
TRS is confluent if ∀ s ∀ t ∀ u s →∗ t ∧ s →∗ u =⇒ ∃ v (t →∗ v ∧ u →∗ v )
Remarks
• variables s, t, u, v range over all terms
• FORT is based on tree automata techniques and (hence) variables range over
ground terms
FR (ICS @ UIBK)
FORT 0.2
9/19
Properties on Open Terms
Definition
TRS is confluent if ∀ s ∀ t ∀ u s →∗ t ∧ s →∗ u =⇒ ∃ v (t →∗ v ∧ u →∗ v )
Remarks
• variables s, t, u, v range over all terms
• FORT is based on tree automata techniques and (hence) variables range over
ground terms
• confluence 6= ground-confluence
FR (ICS @ UIBK)
FORT 0.2
9/19
Properties on Open Terms
Definition
TRS is confluent if ∀ s ∀ t ∀ u s →∗ t ∧ s →∗ u =⇒ ∃ v (t →∗ v ∧ u →∗ v )
Remarks
• variables s, t, u, v range over all terms
• FORT is based on tree automata techniques and (hence) variables range over
ground terms
• confluence 6= ground-confluence
FSCD 2016 submission
It should be stressed that the above properties are restricted to ground
terms. So CR stands for ground-confluence, which is different from
confluence, even in the presence of ground terms; consider e.g. the rules
f (x) → x and f (x) → c.
FR (ICS @ UIBK)
FORT 0.2
9/19
Properties on Open Terms
Definition
TRS is confluent if ∀ s ∀ t ∀ u s →∗ t ∧ s →∗ u =⇒ ∃ v (t →∗ v ∧ u →∗ v )
Remarks
• variables s, t, u, v range over all terms
• FORT is based on tree automata techniques and (hence) variables range over
ground terms
• confluence 6= ground-confluence
FSCD 2016 submission
It should be stressed that the above properties are restricted to ground
terms. So CR stands for ground-confluence, which is different from
confluence, even in the presence of ground terms; consider e.g. the rules
f (x) → x and f (x) → c. For (left-linear) right-ground TRSs there is no
difference.
FR (ICS @ UIBK)
FORT 0.2
9/19
Properties on Open Terms
Example
TRS
a→b
FR (ICS @ UIBK)
f(a, x) → b
FORT 0.2
f(b, b) → b
10/19
Properties on Open Terms
Example
TRS
a→b
f(a, x) → b
f(b, b) → b
is ground-confluent but not confluent
FR (ICS @ UIBK)
FORT 0.2
10/19
Properties on Open Terms
Example
TRS
a→b
f(a, x) → b
f(b, b) → b
is ground-confluent but not confluent
Confluence Related Properties
CR :
WCR :
UN :
UNC :
∀ s ∀ t ∀ u (s →∗ t ∧ s → u =⇒ t ↓ u)
∀ s ∀ t ∀ u (s → t ∧ s → u =⇒ t ↓ u)
∀ s ∀ t ∀ u (s →! t ∧ s →! u =⇒ t = u)
∀ t ∀ u (t ↔∗ u ∧ NF(t) ∧ NF(u) =⇒ t = u)
NFP :
∀ s ∀ t ∀ u (s → t ∧ s →! u =⇒ t →! u)
SCR :
∀ s ∀ t ∀ u (s → t ∧ s → u =⇒ ∃ v (t →= v ∧ u →∗ v ))
FR (ICS @ UIBK)
FORT 0.2
10/19
Properties on Open Terms
Example
TRS
a→b
f(a, x) → b
f(b, b) → b
is ground-confluent but not confluent
Confluence Related Properties
CR :
WCR :
UN :
UNC :
∀ s ∀ t ∀ u (s →∗ t ∧ s → u =⇒ t ↓ u)
∀ s ∀ t ∀ u (s → t ∧ s → u =⇒ t ↓ u)
∀ s ∀ t ∀ u (s →! t ∧ s →! u =⇒ t = u)
∀ t ∀ u (t ↔∗ u ∧ NF(t) ∧ NF(u) =⇒ t = u)
NFP :
∀ s ∀ t ∀ u (s → t ∧ s →! u =⇒ t →! u)
SCR :
∀ s ∀ t ∀ u (s → t ∧ s → u =⇒ ∃ v (t →= v ∧ u →∗ v ))
P = { CR, WCR, UN, UNC, NFP, SCR }
FR (ICS @ UIBK)
FORT 0.2
10/19
Properties on Open Terms
Relationships
WCR
CR
NFP
UNC
UN
SCR
FR (ICS @ UIBK)
FORT 0.2
11/19
Properties on Open Terms
Relationships
WCR
CR
NFP
UNC
UN
SCR
Notation
GP denotes property P restricted to ground terms
FR (ICS @ UIBK)
FORT 0.2
11/19
Properties on Open Terms
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Notation
GP denotes property P restricted to ground terms
FR (ICS @ UIBK)
FORT 0.2
11/19
Properties on Open Terms
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Notation
GP denotes property P restricted to ground terms
FR (ICS @ UIBK)
FORT 0.2
11/19
Properties on Open Terms
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Notation
GP denotes property P restricted to ground terms
Remark
∀P ∈ P
FR (ICS @ UIBK)
GP =⇒
6
P
FORT 0.2
11/19
Properties on Open Terms
Lemma
∀ left-linear right-ground TRS (F, R)
1
(F, R) P
⇐⇒
(F ∪ { c }, R) GP
∀ P ∈ P \ { UNC }
with fresh constant c
FR (ICS @ UIBK)
FORT 0.2
12/19
Properties on Open Terms
Lemma
∀ left-linear right-ground TRS (F, R)
1
(F, R) P
⇐⇒
(F ∪ { c }, R) GP
2
(F, R) UNC
⇐⇒
(F ∪ { c, c 0 }, R) GUNC
∀ P ∈ P \ { UNC }
with fresh constants c and c 0
FR (ICS @ UIBK)
FORT 0.2
12/19
Properties on Open Terms
Lemma
∀ left-linear right-ground TRS (F, R)
1
(F, R) P
⇐⇒
(F ∪ { c }, R) GP
∀ P ∈ P \ { UNC }
2
(F, R) UNC
⇐⇒
(F ∪ { c, c 0 }, R) GUNC
with fresh constants c and c 0
Example
left-linear right-ground TRS
a→b
f(x, a) → f(b, b)
• does not satisfy UNC:
FR (ICS @ UIBK)
f(b, x) → f(b, b)
f(f(x, y ), z) → f(b, b)
f(x, b) ← f(x, a) → f(b, b) ← f(y , a) → f(y , b)
FORT 0.2
12/19
Properties on Open Terms
Lemma
∀ left-linear right-ground TRS (F, R)
1
(F, R) P
⇐⇒
(F ∪ { c }, R) GP
∀ P ∈ P \ { UNC }
2
(F, R) UNC
⇐⇒
(F ∪ { c, c 0 }, R) GUNC
with fresh constants c and c 0
Example
left-linear right-ground TRS
a→b
f(x, a) → f(b, b)
• does not satisfy UNC:
f(b, x) → f(b, b)
f(f(x, y ), z) → f(b, b)
f(x, b) ← f(x, a) → f(b, b) ← f(y , a) → f(y , b)
• adding single fresh constant c is not enough to violate GUNC
FR (ICS @ UIBK)
FORT 0.2
12/19
Properties on Open Terms
Lemma
∀ left-linear right-ground TRS (F, R)
1
(F, R) P
⇐⇒
(F ∪ { c }, R) GP
∀ P ∈ P \ { UNC }
2
(F, R) UNC
⇐⇒
(F ∪ { c, c 0 }, R) GUNC
with fresh constants c and c 0
Example
left-linear right-ground TRS
a→b
f(x, a) → f(b, b)
• does not satisfy UNC:
f(b, x) → f(b, b)
f(f(x, y ), z) → f(b, b)
f(x, b) ← f(x, a) → f(b, b) ← f(y , a) → f(y , b)
• adding single fresh constant c is not enough to violate GUNC
• GUNC is violated by adding another fresh constant c0 :
f(c, b) ← f(c, a) → f(b, b) ← f(c0 , a) → f(c0 , b)
FR (ICS @ UIBK)
FORT 0.2
12/19
Properties on Open Terms
Remarks
• for termination (SN) and normalization (WN) no fresh constants are needed
FR (ICS @ UIBK)
FORT 0.2
13/19
Properties on Open Terms
Remarks
• for termination (SN) and normalization (WN) no fresh constants are needed
• for other properties expressible in first-order theory of rewriting
adding one or two constants may be insufficient
FR (ICS @ UIBK)
FORT 0.2
13/19
Properties on Open Terms
Remarks
• for termination (SN) and normalization (WN) no fresh constants are needed
• for other properties expressible in first-order theory of rewriting
adding one or two constants may be insufficient:
TRS consisting of rule f(x) → a satisfies
P:
FR (ICS @ UIBK)
¬ ∃ s ∃ t ∃ u ∀ v (v ↔∗ s ∨ v ↔∗ t ∨ v ↔∗ u)
FORT 0.2
13/19
Properties on Open Terms
Remarks
• for termination (SN) and normalization (WN) no fresh constants are needed
• for other properties expressible in first-order theory of rewriting
adding one or two constants may be insufficient:
TRS consisting of rule f(x) → a satisfies
P:
¬ ∃ s ∃ t ∃ u ∀ v (v ↔∗ s ∨ v ↔∗ t ∨ v ↔∗ u)
but GP does not hold after adding additional constants c and c0
FR (ICS @ UIBK)
FORT 0.2
13/19
Properties on Open Terms
Remarks
• for termination (SN) and normalization (WN) no fresh constants are needed
• for other properties expressible in first-order theory of rewriting
adding one or two constants may be insufficient:
TRS consisting of rule f(x) → a satisfies
P:
¬ ∃ s ∃ t ∃ u ∀ v (v ↔∗ s ∨ v ↔∗ t ∨ v ↔∗ u)
but GP does not hold after adding additional constants c and c0
• adding fresh unary function symbol g and fresh constant c in order to create
infinitely many ground normal forms
FR (ICS @ UIBK)
FORT 0.2
13/19
Properties on Open Terms
Remarks
• for termination (SN) and normalization (WN) no fresh constants are needed
• for other properties expressible in first-order theory of rewriting
adding one or two constants may be insufficient:
TRS consisting of rule f(x) → a satisfies
P:
¬ ∃ s ∃ t ∃ u ∀ v (v ↔∗ s ∨ v ↔∗ t ∨ v ↔∗ u)
but GP does not hold after adding additional constants c and c0
• adding fresh unary function symbol g and fresh constant c in order to create
infinitely many ground normal forms is unsound in general:
consider a → b and ∀ s ∀ t (s → t =⇒ s →
− t)
FR (ICS @ UIBK)
FORT 0.2
13/19
Properties on Open Terms
Definition
signature F is monadic if F contains no function symbols of arity > 1
FR (ICS @ UIBK)
FORT 0.2
14/19
Properties on Open Terms
Definition
signature F is monadic if F contains no function symbols of arity > 1
Lemma
∀ left-linear right-ground TRS (F, R) such that R is ground or F is monadic
(F, R) P ⇐⇒ (F, R) GP
FR (ICS @ UIBK)
FORT 0.2
∀P ∈ P
14/19
Properties on Open Terms
Definition
signature F is monadic if F contains no function symbols of arity > 1
Lemma
∀ left-linear right-ground TRS (F, R) such that R is ground or F is monadic
(F, R) P ⇐⇒ (F, R) GP
∀P ∈ P
Example
checking GCR of TRS
f(f(f(x))) → a
f(f(g(g(x)))) → f(a)
f(f(a)) → a
g(f(a)) → a
f(a) → a
g(a) → a
takes 0.85 seconds but 1.73 seconds if fresh constant is added
FR (ICS @ UIBK)
FORT 0.2
14/19
Experiments
Outline
First-Order Theory of Rewriting
Automation
Properties on Open Terms
Experiments
Future Work
FR (ICS @ UIBK)
FORT 0.2
15/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
FR (ICS @ UIBK)
FORT 0.2
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 0.2
-S -f "a:0 b:0 f:2"
FR (ICS @ UIBK)
FORT 0.2
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 0.2
-S -f "a:0 b:0 f:2"
"GWCR & ~WCR & ~GCR"
FR (ICS @ UIBK)
FORT 0.2
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 0.2
-S -f "a:0 b:0 f:2"
"GWCR & ~WCR & ~GCR"
FR (ICS @ UIBK)
a → b f(x, a) → a
FORT 0.2
a → f(a, a)
80 s
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 0.2
-S -f "a:0 b:0 f:2"
"GWCR & ~WCR & ~GCR"
a → b f(x, a) → a
a → f(a, a)
80 s
"GCR & ~CR & ~GSCR"
FR (ICS @ UIBK)
FORT 0.2
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 0.2
-S -f "a:0 b:0 f:2"
"GWCR & ~WCR & ~GCR"
a → b f(x, a) → a
a → f(a, a)
80 s
"GCR & ~CR & ~GSCR"
a → b f(x, a) → b
b → f(a, a)
109 s
FR (ICS @ UIBK)
FORT 0.2
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 0.2
-S -f "a:0 b:0 f:2"
"GWCR & ~WCR & ~GCR"
a → b f(x, a) → a
a → f(a, a)
80 s
"GCR & ~CR & ~GSCR"
a → b f(x, a) → b
b → f(a, a)
109 s
"GNFP & ~NFP & ~GCR"
FR (ICS @ UIBK)
FORT 0.2
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 0.2
-S -f "a:0 b:0 f:2"
"GWCR & ~WCR & ~GCR"
a → b f(x, a) → a
a → f(a, a)
80 s
"GCR & ~CR & ~GSCR"
a → b f(x, a) → b
b → f(a, a)
109 s
"GNFP & ~NFP & ~GCR"
a → b f(x, a) → f(a, a)
f(b, b) → f(a, a)
16 s
FR (ICS @ UIBK)
FORT 0.2
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 0.2
-S -f "a:0 b:0 f:2"
"GWCR & ~WCR & ~GCR"
a → b f(x, a) → a
a → f(a, a)
80 s
"GCR & ~CR & ~GSCR"
a → b f(x, a) → b
b → f(a, a)
109 s
"GNFP & ~NFP & ~GCR"
a → b f(x, a) → f(a, a)
f(b, b) → f(a, a)
16 s
"GUNC & ~UNC & ~GNFP"
FR (ICS @ UIBK)
FORT 0.2
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 0.2
-S -f "a:0 b:0 f:2"
"GWCR & ~WCR & ~GCR"
a → b f(x, a) → a
a → f(a, a)
80 s
"GCR & ~CR & ~GSCR"
a → b f(x, a) → b
b → f(a, a)
109 s
"GNFP & ~NFP & ~GCR"
a → b f(x, a) → f(a, a)
f(b, b) → f(a, a)
16 s
f(b, x) → b
95 s
"GUNC & ~UNC & ~GNFP" a → a
FR (ICS @ UIBK)
f(x, a) → a
FORT 0.2
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 0.2
-S -f "a:0 b:0 f:2"
"GWCR & ~WCR & ~GCR"
a → b f(x, a) → a
a → f(a, a)
80 s
"GCR & ~CR & ~GSCR"
a → b f(x, a) → b
b → f(a, a)
109 s
"GNFP & ~NFP & ~GCR"
a → b f(x, a) → f(a, a)
f(b, b) → f(a, a)
16 s
f(b, x) → b
95 s
"GUNC & ~UNC & ~GNFP" a → a
FR (ICS @ UIBK)
f(x, a) → a
FORT 0.2
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 0.2
-S -f "a:0 b:0 f:2"
"GWCR & ~WCR & ~GCR"
a → b f(x, a) → a
a → f(a, a)
80 s
"GCR & ~CR & ~GSCR"
a → b f(x, a) → b
b → f(a, a)
109 s
"GNFP & ~NFP & ~GCR"
a → b f(x, a) → f(a, a)
f(b, b) → f(a, a)
16 s
f(b, x) → b
21 s
"~GNFP & GUNC & ~UNC" a → a
FR (ICS @ UIBK)
f(x, a) → a
FORT 0.2
16/19
Experiments
Relationships
WCR
CR
NFP
UNC
UN
GCR
GNFP
GUNC
GUN
SCR
GSCR
GWCR
Synthesis Experiments with FORT 1.0
-S -f "a:0 b:0 f:2"
"GWCR & ~WCR & ~GCR"
a → b f(x, a) → a
a → f(a, a)
8 - 20 s
"GCR & ~CR & ~GSCR"
a → b f(x, a) → b
b → f(a, a)
8 - 10 s
"GNFP & ~NFP & ~GCR"
a → b f(x, a) → f(a, a)
f(b, b) → f(a, a)
9 - 11 s
f(b, x) → b
2- 4s
"~GNFP & GUNC & ~UNC" a → a
FR (ICS @ UIBK)
f(x, a) → a
FORT 0.2
16/19
Experiments
Example
"GUN & ~UN & ~GUNC"
FR (ICS @ UIBK)
b→a
d→c
f(x, e) → A
b→c
d→e
f(x, A) → A
c→c
f(x, a) → A
f(c, x) → A
FORT 0.2
17/19
Experiments
Example
"GUN & ~UN & ~GUNC"
b→a
d→c
f(x, e) → A
b→c
d→e
f(x, A) → A
c→c
f(x, a) → A
f(c, x) → A
Comparison (GCR)
AGCP is recent tool for ground-confluence of many-sorted TRSs based on
rewriting induction (Aoto and Toyama, FSCD 2016)
FR (ICS @ UIBK)
FORT 0.2
17/19
Experiments
Example
"GUN & ~UN & ~GUNC"
b→a
d→c
f(x, e) → A
b→c
d→e
f(x, A) → A
c→c
f(x, a) → A
f(c, x) → A
Comparison (GCR)
AGCP is recent tool for ground-confluence of many-sorted TRSs based on
rewriting induction (Aoto and Toyama, FSCD 2016)
65 TRSs
yes
no
maybe
timeout
total time
FR (ICS @ UIBK)
AGCP (∅ time)
8 (0.02 s)
–
56 (0.19 s)
1
71 s
FORT 0.2 (∅ time)
42 (0.42 s)
14 (3.88 s)
–
9
612 s
FORT 0.2
17/19
Experiments
Example
"GUN & ~UN & ~GUNC"
b→a
d→c
f(x, e) → A
b→c
d→e
f(x, A) → A
c→c
f(x, a) → A
f(c, x) → A
Comparison (GCR)
AGCP is recent tool for ground-confluence of many-sorted TRSs based on
rewriting induction (Aoto and Toyama, FSCD 2016)
65 TRSs
yes
no
maybe
timeout
total time
FR (ICS @ UIBK)
AGCP (∅ time)
8 (0.02 s)
–
56 (0.19 s)
1
71 s
FORT 0.2 (∅ time)
42 (0.42 s)
14 (3.88 s)
–
9
612 s
FORT 0.2
FORT 1.0 (∅ time)
43 (0.26 s)
18 (0.96 s)
–
4
268 s
17/19
Experiments
Example
"GUN & ~UN & ~GUNC"
b → a Let’s see what happensd at
→c
f(x, e) → A
b→c
d→e
f(x, A) → A
c→c
f(x, a) → A
f(c, x) → A
Comparison (GCR)
AGCP is recent tool for ground-confluence of many-sorted TRSs based on
rewriting induction (Aoto and Toyama, FSCD 2016)
65 TRSs
yes
no
maybe
timeout
total time
FR (ICS @ UIBK)
AGCP (∅ time)
8 (0.02 s)
–
56 (0.19 s)
1
71 s
FORT 0.2 (∅ time)
42 (0.42 s)
14 (3.88 s)
–
9
612 s
FORT 0.2
FORT 1.0 (∅ time)
43 (0.26 s)
18 (0.96 s)
–
4
268 s
17/19
Future Work
Outline
First-Order Theory of Rewriting
Automation
Properties on Open Terms
Experiments
Future Work
FR (ICS @ UIBK)
FORT 0.2
18/19
Future Work
Limitation
restriction to left-linear right-ground TRSs is hard to overcome because first-order
theory of one-step rewriting (→) is undecidable
FR (ICS @ UIBK)
FORT 0.2
19/19
Future Work
Limitation
restriction to left-linear right-ground TRSs is hard to overcome because first-order
theory of one-step rewriting (→) is undecidable
• . . . even for linear non-erasing TRSs (Treinen, 1998)
FR (ICS @ UIBK)
FORT 0.2
19/19
Future Work
Limitation
restriction to left-linear right-ground TRSs is hard to overcome because first-order
theory of one-step rewriting (→) is undecidable
• . . . even for linear non-erasing TRSs (Treinen, 1998)
• . . . even for complete right-ground TRSs (Vorobyov, 2002)
FR (ICS @ UIBK)
FORT 0.2
19/19
Future Work
Limitation
restriction to left-linear right-ground TRSs is hard to overcome because first-order
theory of one-step rewriting (→) is undecidable
• . . . even for linear non-erasing TRSs (Treinen, 1998)
• . . . even for complete right-ground TRSs (Vorobyov, 2002)
Ongoing and Future Work
• generating witnesses for existential formulas and formulas with free variables
FR (ICS @ UIBK)
FORT 0.2
19/19
Future Work
Limitation
restriction to left-linear right-ground TRSs is hard to overcome because first-order
theory of one-step rewriting (→) is undecidable
• . . . even for linear non-erasing TRSs (Treinen, 1998)
• . . . even for complete right-ground TRSs (Vorobyov, 2002)
Ongoing and Future Work
• generating witnesses for existential formulas and formulas with free variables
• support for combinations of TRSs (e.g., to express commutation)
FR (ICS @ UIBK)
FORT 0.2
19/19
Future Work
Limitation
restriction to left-linear right-ground TRSs is hard to overcome because first-order
theory of one-step rewriting (→) is undecidable
• . . . even for linear non-erasing TRSs (Treinen, 1998)
• . . . even for complete right-ground TRSs (Vorobyov, 2002)
Ongoing and Future Work
• generating witnesses for existential formulas and formulas with free variables
• support for combinations of TRSs (e.g., to express commutation)
• incorporating rewrite strategies
FR (ICS @ UIBK)
FORT 0.2
19/19
Future Work
Limitation
restriction to left-linear right-ground TRSs is hard to overcome because first-order
theory of one-step rewriting (→) is undecidable
• . . . even for linear non-erasing TRSs (Treinen, 1998)
• . . . even for complete right-ground TRSs (Vorobyov, 2002)
Ongoing and Future Work
• generating witnesses for existential formulas and formulas with free variables
• support for combinations of TRSs (e.g., to express commutation)
• incorporating rewrite strategies
• formalizing underlying theory in Isabelle/HOL
FR (ICS @ UIBK)
FORT 0.2
19/19