Outline Motivation 1 Unification problems 2 Formalisation of a - - PowerPoint PPT Presentation

outline
SMART_READER_LITE
LIVE PREVIEW

Outline Motivation 1 Unification problems 2 Formalisation of a - - PowerPoint PPT Presentation

Outline N OMINAL C- UNIFICATION on , Washington L. R. de Carvalho Segundo , Mauricio Ayala-Rinc andez and Daniele Nantes Sobrinho Maribel Fern K ING S C OLLEGE L ONDON U NIVERSIDADE DE B RAS ILIA 27 th Int.


slide-1
SLIDE 1

Outline

NOMINAL C-UNIFICATION

Mauricio Ayala-Rinc´

  • n†, Washington L. R. de Carvalho Segundo†‡,

Maribel Fern´ andez‡ and Daniele Nantes Sobrinho†

†UNIVERSIDADE DE BRAS´ ILIA ‡KING’S COLLEGE LONDON

27th Int. Sym. on Logic-Based Program Synthesis and Transformation —

LOPSTR

Namur, 12 October 2017

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 1 / 34

slide-2
SLIDE 2

Outline

Outline

1

Motivation Unification problems

2

Formalisation of a nominal C-unification algorithm Termination Soundness Completeness

3

Nominal C-unification is Infinitary NP-complete

4

Conclusion and future work

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 1 / 34

slide-3
SLIDE 3

Motivation

Unification

Equations between first-order terms s ≈? t where variables {X, Y, Z, . . .} can be substituted by terms Application contexts:

logic programming type inference term rewriting theorem provers security protocol analysis information retrieval

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 2 / 34

slide-4
SLIDE 4

Motivation

Equational and binding operators

Function symbols f with basic equational properties like:

A {f(X, f(Y, Z)) ≈ f(f(X, Y ), Z)} C {f(X, Y) ≈ f(Y, X)} D {f(g(X, Y ), Z) ≈ g(f(X, Z), f(Y, Z))} U {f(X, 1) ≈ X}

Bound object-level variables [a]s ∀a∀b, P(a) ∨ Q(b) ⇒ R(a, b)

represented as

f∀[a]f∀[b]f⇒(f∨(P(a), P(b)), R(a, b))

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 3 / 34

slide-5
SLIDE 5

Motivation

Nominal basic objects

atoms {a, b, c, . . .} and variables {X, Y, Z, . . .} Freshness contexts ∇ = {a#X, b#Y, c#Z, . . .} permutations as lists of name-swappings π = (a0 b0) :: (a1 b1) :: . . . :: (an bn) :: nil The inverse of π is its reverse list π−1 = (an bn) :: (an−1 bn−1) :: . . . :: (a0 b0) :: nil

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 4 / 34

slide-6
SLIDE 6

Motivation

Nominal syntax and {α, C}-equivalence

Nominal syntax t, u, v ::= | a | [a]t | u, v | fE

k t | π.X

Freshness relation ∇ ⊢ a # t a is fresh to t under the freshness context ∇ ∇ ⊢ a # π.X only if (π−1·a)#X ∈ ∇ {α, C}-equivalence ∇ ⊢ s ≈{α,C} t {α, E}-equivalence instantiated with E = {C}

(see [Ayala-Rinc´

  • n et al., 2016a])
  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 5 / 34

slide-7
SLIDE 7

Motivation

Related work: formalisation on nominal

2004 2006 2008 2010 2012 2014 2016

Nominal Unification in Isabelle/HOL [Urban et al., 2004] Nominal Reasoning Techniques in Coq [Aydemir et al., 2007] Nominal Reasoning Techniques in Isabelle/HOL [Urban, 2008] Nominal Unification in HOL4 [Kumar and Norrish, 2010] Nominal Unification (Revisited) in Isabelle/HOL [Urban, 2010] General binders in Isabelle/HOL [Urban and Kaliszyk, 2012] Nominal Unification in PVS [Ayala-Rinc´

  • n

e t a l . , 2 1 5 ]

Nominal Reasoning Techniques in Agda [Copello et al., 2015] Nominal α-A/AC in Coq [Ayala-Rinc´

  • n

e t a l . , 2 1 6 a ]

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 6 / 34

slide-8
SLIDE 8

Motivation

Related work: HO correspondence and efficiency of nominal algorithms

2006 2008 2010 2012

H O P a t t e r n → N

  • m

i n a l [Cheney, 2005] N

  • m

i n a l U n i fi c a t i

  • n

i s P

  • l

y n

  • m

i a l [Calv`

es and Fern´ andez, 2008]

Q u a d r a t i c N

  • m

i n a l U n i fi c a t i

  • n [Levy and Villaret, 2010]

M a t c h i n g a n d α

  • E

q u i v a l e n c e C h e c k [Calv`

es and Fern´ andez, 2010]

Q u a d r a t i c N

  • m

i n a l U n i fi c a t i

  • n [Calv`

es and Fern´ andez, 2011]

N

  • m

i n a l → H O P a t t e r n [Levy and Villaret, 2012]

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 7 / 34

slide-9
SLIDE 9

Motivation

Related work: reasoning modulo equational theories and nominal unification extensions

2004 2006 2008 2010 2012 2014 2016

A / A C / C r e w r i t e i n I s a b e l l e / H O L [Nipkow, 1989] A C m a t c h i n g a l g

  • r

i t h m i n C

  • q [Contejean, 2004]

P e r m u t a t i

  • n
  • f

t e r m s i n C

  • q [Contejean, 2007]

A C r e w r i t e i n C

  • q [Braibant and Pous, 2011]

N

  • m

i n a l a n t i

  • u

n i fi c a t i

  • n [Baumgartner et al., 2015]

N

  • m

i n a l n a r r

  • w

i n g [Ayala-Rinc´

  • n et al., 2016b]

N

  • m

i n a l u n i fi c a t i

  • n

w i t h l e t r e c [Schmidt-Schauß et al., 2016] S

  • l

v i n g n

  • m

i n a l C fi x p

  • i

n t e q u a t i

  • n

s [Ayala-Rinc´

  • n et al., 2017]
  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 8 / 34

slide-10
SLIDE 10

Motivation Unification problems

Unification problems

Unification problem ∇, P = ∇, id, P P is a finite set of equations and freshness constraints of the form s ≈? t and a#?s

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 9 / 34

slide-11
SLIDE 11

Formalisation of a nominal C-unification algorithm

System ⇒#

∇, σ, P ⊎ {a#?} (#?) ∇, σ, P ∇, σ, P ⊎ {a#?¯ b} (#?a¯ b) ∇, σ, P ∇, σ, P ⊎ {a#?f t} (#?app) ∇, σ, P ∪ {a#?t} ∇, σ, P ⊎ {a#?[a]t} (#?a[a]) ∇, σ, P ∇, σ, P ⊎ {a#?[b]t} (#?a[b]) ∇, σ, P ∪ {a#?t} ∇, σ, P ⊎ {a#?π.X} (#?var) {(π−1 · a)#X} ∪ ∇, σ, P ∇, σ, P ⊎ {a#?s, t} (#?pair) ∇, σ, P ∪ {a#?s, a#?t}

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 10 / 34

slide-12
SLIDE 12

Formalisation of a nominal C-unification algorithm

System ⇒≈

∇, σ, P ⊎ {s ≈? s} (≈? refl) ∇, σ, P ∇, σ, P ⊎ {s1, t1 ≈? s2, t2} (≈? pair) ∇, σ, P ∪ {s1 ≈? s2, t1 ≈? t2} ∇, σ, P ⊎ {fE

k s ≈? fE k t}

, if E = C (≈? app) ∇, σ, P ∪ {s ≈? t} ∇, σ, P ⊎ {fC

k s ≈? fC k t}

,

  • where s = s0, s1 and t = t0, t1

v = ti, t(i+1) mod 2, i = 0, 1

  • (≈? C)

∇, σ, P ∪ {s ≈? v} ∇, σ, P ⊎ {[a]s ≈? [a]t} (≈? [aa]) ∇, σ, P ∪ {s ≈? t} ∇, σ, P ⊎ {[a]s ≈? [b]t} (≈? [ab]) ∇, σ, P ∪ {s ≈? (a b) t, a#?t} ∇, σ, P ⊎ {π.X ≈? t} let σ′ := σ{X/π−1 · t} , if X / ∈ V ar(t) (≈? inst)

  • ∇, σ′, P {X/π−1 · t} ∪
  • Y ∈dom(σ′),

a#Y ∈∇

{a#?Y σ′}

  • ∇, σ, P ⊎ {π.X ≈? π′.X}

, if π′ = id (≈? inv) ∇, σ, P ∪ {π ⊕ (π′)−1.X ≈? X}

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 11 / 34

slide-13
SLIDE 13

Formalisation of a nominal C-unification algorithm

Derivation tree for ∇, P

Nodes are labelled w.r.t. each ⇒≈(resp. ⇒#)-derivation step

1

The root node is labelled with P = ∇, id, P

2

P is reduced by ⇒≈ (for each branch), until reach Qi (a normal form w.r.t. ⇒≈)

3

For each Qi = ∇i, δi, Qi. If Qi contains only fixpoint equations and freshness contraints then it is reduced until reach ¯ Q (a normal form w.r.t. ⇒#)

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 12 / 34

slide-14
SLIDE 14

Formalisation of a nominal C-unification algorithm

Derivation tree for ∇, P

Nodes are labelled w.r.t. each ⇒≈(resp. ⇒#)-derivation step

1

The root node is labelled with P = ∇, id, P

2

P is reduced by ⇒≈ (for each branch), until reach Qi (a normal form w.r.t. ⇒≈)

3

For each Qi = ∇i, δi, Qi. If Qi contains only fixpoint equations and freshness contraints then it is reduced until reach ¯ Q (a normal form w.r.t. ⇒#)

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 12 / 34

slide-15
SLIDE 15

Formalisation of a nominal C-unification algorithm

Derivation tree for ∇, P

Nodes are labelled w.r.t. each ⇒≈(resp. ⇒#)-derivation step

1

The root node is labelled with P = ∇, id, P

2

P is reduced by ⇒≈ (for each branch), until reach Qi (a normal form w.r.t. ⇒≈)

3

For each Qi = ∇i, δi, Qi. If Qi contains only fixpoint equations and freshness contraints then it is reduced until reach ¯ Q (a normal form w.r.t. ⇒#)

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 12 / 34

slide-16
SLIDE 16

Formalisation of a nominal C-unification algorithm

Definition of a solution

Definition (Solution for a triple or a problem) A solution for a triplet P = ∇, δ, P is given by a pair ∆, σ that satisfies

1

∀ a#X ∈ ∇, ∆ ⊢ a # Xσ

2

if a#?t ∈ P then ∆ ⊢ a # tσ

3

if s ≈? t ∈ P then ∆ ⊢ sσ ≈{α,C} tσ

4

∃λ s.t. ∀X ∈ dom(δλ) ∪ dom(σ), ∆ ⊢ Xδλ ≈{α,C} Xσ The solution set for a problem or triple P is denoted by UC(P).

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 13 / 34

slide-17
SLIDE 17

Formalisation of a nominal C-unification algorithm

Example

P =∅, {[a][b]X ≈? [b][a]X} . . .

Nominal unification [Urban et al., 2004]

∅, {X ≈? (a b).X} | {a#X, b#X}, id

In general ∅, {π.X ≈ X} = ⇒ dom(π)#X, id

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 14 / 34

slide-18
SLIDE 18

Formalisation of a nominal C-unification algorithm

Example

P =∅, {[a][b]X ≈? [b][a]X} . . .

Nominal unification [Urban et al., 2004]

∅, {X ≈? (a b).X} | {a#X, b#X}, id

In general ∅, {π.X ≈ X} = ⇒ dom(π)#X, id

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 14 / 34

slide-19
SLIDE 19

Formalisation of a nominal C-unification algorithm

Example

P = ∅, {[e](a b).X ∗ Y ≈? [f](a c)(c d).X ∗ Y }

∅, id, { (a b).X ∗ Y ≈? (a c)(c d)(e f).X ∗ (e f).Y , e#?(a c)(c d).X ∗ Y } branch 2 branch 1 ⇒(≈?C) ⇒(≈?C) ⇒(≈?[ab])

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 15 / 34

slide-20
SLIDE 20

Formalisation of a nominal C-unification algorithm

Example: branch 1

∅, id, { (a b).X ≈? (a c)(c d)(e f).X , Y ≈? (e f).Y , e#?(a c)(c d).X ∗ Y } ∅, id, {(a b)[(a c)(c d)(e f)]−1.X ≈? X, [(e f)]−1.Y ≈? Y, e#?(a c)(c d).X ∗ Y } ∅, id, {(a b)(e f)(c d)(a c).X ≈? X, (e f).Y ≈? Y, e#?(a c)(c d).X , e#?Y }

e#X , e#Y , id, { (a b)(e f)(c d)(a c).X ≈? X , (e f).Y ≈? Y } = Q1

⇒(#?var)(2×) ⇒ (#?app), (#?pair) ⇒(≈?inv)(2×)

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 16 / 34

slide-21
SLIDE 21

Formalisation of a nominal C-unification algorithm

Example: branch 2

∅, id, (a b).X ≈? (e f).Y , Y ≈? π1.X, e#?(a c)(c d).X ∗ Y } ∅, {X/(e f)(a b).Y }, { Y ≈? (a c)(c d)(e f)(e f)[(a b)]−1.Y , e#?(a c)(c d)(e f)[(a b)]−1.Y ∗ Y }} ∅, {X/(e f)(a b).Y }, {[(a c)(c d)(e f)(e f)(a b)]−1.Y ≈? Y, e#?(a c)(c d)(e f)(a b).Y ∗ Y } ∅, {X/(e f)(a b).Y }, {(a b)(e f)(e f)(c d)(a c).Y ≈? Y, e#?(a c)(c d)(e f)(a b).Y , e#?Y }

e#Y , f#Y , {X/(e f)(a b).Y }, { (a b)(e f)(e f)(c d)(a c).Y ≈? Y } = Q2

⇒(#?var)(2×) ⇒ (#?app), (#?pair) ⇒(≈?inv) ⇒(≈?inst)

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 17 / 34

slide-22
SLIDE 22

Formalisation of a nominal C-unification algorithm Termination

Termination

Lemma (Termination of ⇒≈ and ⇒#) There is no infinite chain of reductions ⇒≈ (or ⇒#) starting from an arbitrary triple P = ∇, σ, P. The proof is by well-founded induction on P

P =

  • s≈?t ∈ P≈

|s| + |t| +

  • a#?u∈P#

|u|

1

P≈ = |V ar(P≈)|, P≈, |Pnfp≈|

2

P# = P#

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 18 / 34

slide-23
SLIDE 23

Formalisation of a nominal C-unification algorithm Soundness

Soundness

Theorem (Soundness of T∇,P) If P′ = ∇′, σ, P ′ is the label of a leaf in T∇,P, then

1

UC(P′) ⊆ UC(∇, id, P) and

2

if P ′

fp≈ = P ′ then UC(P′) = ∅

Induction on ⇒≈ and ⇒# Non trivial cases: ⇒(≈?[ab]) and ⇒(≈?inst)

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 19 / 34

slide-24
SLIDE 24

Formalisation of a nominal C-unification algorithm Completeness

Completeness

Theorem (Completeness of T∇,P) Let ∇, P and T∇,P be a unification problem and its derivation tree. Then UC(∇, id, P) =

  • Q∈ST(T∇,P )

UC(Q). Induction on ⇒≈ and ⇒# Non trivial cases: ⇒(≈?C), ⇒(≈?[ab]) and ⇒(≈?inst)

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 20 / 34

slide-25
SLIDE 25

Nominal C-unification is Infinitary

Atom permutations as k-cycles

Q1 = e#X, e#Y, id, { (a b)(e f)(c d)(a c).X ≈? X , (e f).Y ≈? Y } Q2 = e#Y, f#Y, {X/(e f)(a b).Y }, { (a b)(e f)(e f)(c d)(a c).Y ≈? Y }

  • (a b)(e f)(c d)(a c) −

→ (a b c d)(e f)

  • (a b)(e f)(e f)(c d)(a c) −

→ (a b c d)

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 21 / 34

slide-26
SLIDE 26

Nominal C-unification is Infinitary

Pseudo-cycles

κ = (a0 a1 . . . ak−1) ∈ π

1

κ = (a0 · · · ak−1) is a (trivial) pseudo-cycle w.r.t. κ

2

κ′ = (A0 ... Ak′−1) is a pseudo-cycle w.r.t. κ, if

1

each element of κ′ is of the form Bi ∗ Bj, Bi, Bj are different elements of κ′′, a pseudo-cycle w.r.t. κ

2

Ai ≈α,C Aj for i = j, 0 ≤ i, j ≤ k′ − 1

3

for each 0 ≤ i < k′ − 1, κ · Ai ≈{α,C} A(i+1)mod k′

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 22 / 34

slide-27
SLIDE 27

Nominal C-unification is Infinitary

Example: κ = (a b c d)

(a b c d)

4

((a ∗ b) (b ∗ c) (c ∗ d) (d ∗ a))

4

(((a ∗ b) ⊗ (b ∗ c)) . . . ((b ∗ c) ⊗ (d ∗ a)))

4

. . . . . .

(((a ∗ b) ⋆ (c ∗ d)) ((d ∗ a) ⋆ (a ∗ b)))

2

  • 1

((a ⊕ c) (b ⊕ d))

2

((a ⊕ c) ∗ (b ⊕ d))

1

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 23 / 34

slide-28
SLIDE 28

Nominal C-unification is Infinitary

Results

Theorem (Power of two cycles) A pseudo-cycle κ generates unitary pseudo-cycles iff |κ| = 2p. Theorem (Combinatory solutions) Let P = ∅, {π.X ≈? X} be a fixpoint problem. P has a combinatory solution iff there exists a unitary pseudo-cycle κ w.r.t. π.

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 24 / 34

slide-29
SLIDE 29

Nominal C-unification is Infinitary

Unitary pseudo-cycles as combinatory solutions

If (s) is a unitary pseudo-cycle of κ then κ · s ≈{α,C} s In our example:

e#X, e#Y, {X/(a ⊕ c) ∗ (b ⊕ d)} ∈ UC(Q1) e#X, f#Y, {X/(e f)(a b).Y }{Y/(a ⊕ c) ∗ (b ⊕ d)} ∈ UC(Q2)

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 25 / 34

slide-30
SLIDE 30

Nominal C-unification is Infinitary

Extended pseudo-cycles

In [Ayala-Rinc´

  • n et al., 2017] we defined extended pseudo-cycles to

encompass all feasible combinatory solutions Example epc’s w.r.t (a b c d) include other syntactic elements s′ =(h a⊕h c)∗(h b⊕h d) and t′ =([i]a⊕[i]c)∗([i]b⊕[i]d) So that {X/s′} and {X/t′} (resp. {Y/s′} and {Y/t′}) are solutions of (a b c d)(e f).X ≈? X (resp. (a b c d).Y ≈? Y )

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 26 / 34

slide-31
SLIDE 31

Nominal C-unification is NP-complete

NP-completeness

1

Decide, for a given P, if UC(P) = ∅ Guessing non-deterministically a path to a successful leaf

2

NP-completeness: positive 1-in-3-SAT reduces to nominal C-unification C = {Ci|1 ≤ i ≤ n} where Ci = pi ∨ qi ∨ ri ⊕ commutative a → True b → False Each clause Ci = pi ∨ qi ∨ ri in C is polynomially translated into ((Xpi ⊕ Xqi) ⊕ Xri) ⊕ Yi ≈? ((b ⊕ b) ⊕ a) ⊕ ((b ⊕ a) ⊕ b)

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 27 / 34

slide-32
SLIDE 32

Conclusion and future work

Conclusion

Formalisation of a nominal C-unification algorithm

1

termination

2

soundness

3

completeness

Nominal C-unification is

1

Infinitary

2

NP-Complete

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 28 / 34

slide-33
SLIDE 33

Conclusion and future work

Future work

1

Implementantion

2

Nominal    A / AC / C matching AC unification AC / C narrowing

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 29 / 34

slide-34
SLIDE 34

Conclusion and future work

Future work

1

Implementantion (in progress)

2

Nominal    A / AC / C matching (in progress) AC unification AC / C narrowing

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 29 / 34

slide-35
SLIDE 35

Conclusion and future work

THANK YOU

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 30 / 34

slide-36
SLIDE 36

Conclusion and future work

References I

Ayala-Rinc´

  • n, M., Carvalho-Segundo, W., Fern´

andez, M., and Nantes-Sobrinho, D. (2016a). A Formalisation of Nominal Equivalence with Associative-Commutative Function Symbols. In Proc. of the 11th Workshop on Logical and Semantic Frameworks with Applications (LSFA), volume 332 of ENTCS, pages 21–38. Elseviser. Ayala-Rinc´

  • n, M., Carvalho-Segundo, W., Fern´

andez, M., and Nantes-Sobrinho, D. (2017). On Solving Nominal Fixpoint Equations. In Proc. of the 11th Int. Symp. on Frontiers of Combining Systems (FroCoS), volume 10483 of LNCS, pages 209–226. Springer. Ayala-Rinc´

  • n, M., Fern´

andez, M., and Nantes-Sobrinho., D. (2016b). Nominal Narrowing. In Proc. of the 1st Int. Conf. on Formal Structures for Computation and Deduction (FSCD), volume 52 of LIPIcs, pages 11:1–11:17. Ayala-Rinc´

  • n, M., Fern´

andez, M., and Rocha-oliveira, A. C. (2015). Completeness in PVS of a Nominal Unification Algorithm. In Proc. of the 10th Workshop on Logical and Semantic Frameworks with Applications (LSFA), volume 323 of ENTCS, pages 57–74. Elseviser. Aydemir, B., Bohannon, A., and Weirich, S. (2007). Nominal Reasoning Techniques in Coq. ENTCS, 174(5):69–77. Baumgartner, A., Kutsia, T., Levy, J., and Villaret, M. (2015). Nominal Anti-Unification. In Proc. of the 26th Int. Conf. on Rewriting Techniques and Applications, (RTA), volume 36 of LIPics, pages 57–73.

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 31 / 34

slide-37
SLIDE 37

Conclusion and future work

References II

Braibant, T. and Pous, D. (2011). Tactics for Reasoning Modulo AC in Coq. In In Proc. of the 1st. Int. Conf. on Certified Programs and Proofs (CPP), volume 7086 of LNCS, pages 167–182. Springer. Calv` es, C. F. and Fern´ andez, M. (2008). A Polynomial Nominal Unification Algorithm. Theoretical Computer Science, 403(2-3):285–306. Calv` es, C. F. and Fern´ andez, M. (2010). Matching and Alpha-Equivalence Check for Nominal Terms.

  • J. of Computer and System Sciences, 76(5):283–301.

Calv` es, C. F. and Fern´ andez, M. (2011). The First-order Nominal Link. In Proc. of the 20th Int. Symp. Logic-based Program Synthesis and Transformation (LOPSTR), volume 6564 of LNCS, pages 234–248. Springer. Cheney, J. (2005). Relating nominal and higher-order pattern unification. In Proc. of the 19th int. Workshop on Unification (UNIF), LORIA, pages 104–119. Contejean, E. (2004). A Certified AC Matching Algorithm. In Proc. of the 15th Int. Conf. on Rewriting Techniques and Applications (RTA), volume 3091 of LNCS, pages 70–84. Springer.

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 32 / 34

slide-38
SLIDE 38

Conclusion and future work

References III

Contejean, E. (2007). Modeling permutations in coq for coccinelle. In Rewriting, Computation and Proof, Essays Dedicated to Jean-Pierre Jouannaud on the Occasion of His 60th Birthday, LNCS, pages 259–269. Springer. Copello, E., Tasistro, A., Szasz, N., Bove, A., and Fern´ andez, M. (2015). Principles of Alpha-Induction and Recursion for the Lambda Calculus in Constructive Type Theory. In Logical and Semantic Frameworks with Applications, pages 51–66. Kumar, R. and Norrish, M. (2010). (Nominal) Unification by Recursive Descent with Triangular Substitutions. In Proc. of Interactive Theorem Proving, 1st Int. Conf. (ITP), volume 6172 of LNCS, pages 51–66. Springer. Levy, J. and Villaret, M. (2010). An Efficient Nominal Unification Algorithm. In Proc. of the 21st Int. Conf. on Rewriting Techniques and Applications (RTA), volume 6 of LIPIcs, pages 209–226. Levy, J. and Villaret, M. (2012). Nominal unification from a higher-order perspective. ACM Trans. Comput. Log., 13(2):10:1–10:31. Nipkow, T. (1989). Equational Reasoning in Isabelle. Science of Computer Programming, 12(2):123–149.

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 33 / 34

slide-39
SLIDE 39

Conclusion and future work

References IV

Schmidt-Schauß, M., Kutsia, T., Levy, J., and Villaret, M. (2016). Nominal Unification of Higher Order Expressions with Recursive Let. In Proc. of the 26th Int. Sym. on Logic-Based Program Synthesis and Transformation (LOPSTR), volume 10184 of LNCS, pages 328–344. Springer. Urban, C. (2008). Nominal Techniques in Isabelle/HOL.

  • J. of Autom. Reasoning, 40(4):327–356.

Urban, C. (2010). Nominal Unification Revisited. In Proc. of the 24th Int. Work. on Unification (UNIF), volume 42 of EPTCS, pages 1–11. Urban, C. and Kaliszyk, C. (2012). General Bindings an Alpha-Equivalence in Nominal Isabelle. Logical Methods in Computer Science, 8:1–35. Urban, C., Pitts, A. M., and Gabbay, M. J. (2004). Nominal Unification. Theoretical Computer Science, 323(1-3):473–497.

  • Univ. de Bras´

ılia, King’s College London Nominal C-unification LOPSTR 2017 34 / 34