Nrbox System Description for CoCo 2016 Takahito Aoto (Niigata - - PowerPoint PPT Presentation

nrbox
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Nrbox

System Description for CoCo 2016 Takahito Aoto (Niigata University) Kentaro Kikuchi (Tohoku University)

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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