Nrbox System Description for CoCo 2016 Takahito Aoto (Niigata - - PowerPoint PPT Presentation
Nrbox System Description for CoCo 2016 Takahito Aoto (Niigata - - PowerPoint PPT Presentation
Nrbox System Description for CoCo 2016 Takahito Aoto (Niigata University) Kentaro Kikuchi (Tohoku University) nrbox : n ominal r ewriting tool box Confluence Tool for Nominal Rewriting Systems Written in SML/NJ, about 4500 loc
nrbox: nominal rewriting toolbox
Confluence Tool for “Nominal Rewriting Systems”
◮ Written in SML/NJ, about 4500 loc ◮ http://www.nue.ie.niigata-u.ac.jp/tools/nrbox/ ◮ Requires an external termination prover for first-order TRSs. ◮ Entrant for Demo(NRS) category.
1 / 4
Nominal Rewriting (Fernández & Gabbay, 2007)
◮ Extension of first-order term rewriting ◮ Binding mechanism
◮ Nominal approach (Gabbay & Pitts, 2002)
◮ α-equivalence is dealt with at object-level
◮ In contrast to traditional higher-order rewriting, which uses
λ-calculus as meta-calculus.
2 / 4
Nominal Rewriting (Fernández & Gabbay, 2007)
◮ Extension of first-order term rewriting ◮ Binding mechanism
◮ Nominal approach (Gabbay & Pitts, 2002)
◮ α-equivalence is dealt with at object-level
◮ In contrast to traditional higher-order rewriting, which uses
λ-calculus as meta-calculus.
Example. (∀a.P) ∧ Q ≡ ∀a.(P ∧ Q) (a / ∈ FV (Q)) P ∧ (∀a.Q) ≡ ∀a.(P ∧ Q) (a / ∈ FV (P)) Nominal rewriting system (NRS for short) a#Q ⊢ and(forall([a]P), Q) → forall([a]and(P, Q)) a#P ⊢ and(P, forall([a]Q)) → forall([a]and(P, Q))
2 / 4
Rewriting by NRSs
Definition [rewrite relation]
∆ ⊢ s →R,π,p,σ t
def
⇐ ⇒ ∆ ⊢ ∇πσ, ∆ ⊢ s|p ≈α lπσ, t = s[rπσ]p. ∆ ⊢ s →R t
def
⇐ ⇒ ∆ ⊢ s →R,π,p,σ t for some R ∈ R, π, p, σ. and(forall([a]p(a)), forall([a]q(a))) →R1 forall([a]and(p(a), forall([a]q(a)))) ≈α forall([a]and(p(a), forall([b]q(b)))) →R(a b)
2
forall([a]forall([b]and(p(a), q(b))))
3 / 4
Rewriting by NRSs
Definition [rewrite relation]
∆ ⊢ s →R,π,p,σ t
def
⇐ ⇒ ∆ ⊢ ∇πσ, ∆ ⊢ s|p ≈α lπσ, t = s[rπσ]p. ∆ ⊢ s →R t
def
⇐ ⇒ ∆ ⊢ s →R,π,p,σ t for some R ∈ R, π, p, σ. and(forall([a]p(a)), forall([a]q(a))) →R1 forall([a]and(p(a), forall([a]q(a)))) ≈α forall([a]and(p(a), forall([b]q(b)))) →R(a b)
2
forall([a]forall([b]and(p(a), q(b))))
Definition [Church-Rosser modulo ≈α (CRM for short)]
t1 t2 ( ← ∪ → ∪ ≈α )∗ s1 s2 * * ≈α
3 / 4
Implemented Confluence Criteria
Proposition [SKAT, RTA 2015]
Abstract skeleton preserving orthogonal NRSs are CRM.
Proposition [SKAT, SCSS 2016]
Linear uniform NRSs are CRM if Γ ⊢ u →= ◦ ≈α ◦ ←∗ v and Γ ⊢ u →∗ ◦ ≈α ◦ ←= v for any BCP Γ ⊢ u, v.
Proposition [SKAT, SCSS 2016]
Terminating uniform NRSs are CRM if and only if Γ ⊢ u (→∗ ◦ ≈α ◦ ←∗) v for any BCP Γ ⊢ u, v.
Proposition [KAT, 2016]
Left-linear uniform NRSs are CRM if Γ ⊢ u − →
- ≈α v
(u − →
- ≈α ◦ ←∗ v) for any inner (resp. outer) BCP Γ ⊢ u, v.
4 / 4