c3 pdf - Ensiie
Transcription
c3 pdf - Ensiie
Terminaison : modulaire Terminaison : incrémentale M1 M0 M2 M1 M0 M2 M5 M4 M3 M5 M4 M3 M7 M7 X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 1 X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 2 Terminaison : modularité Terminaison : modularité Terminaison : pas modulaire. (Toyama) Terminaison : pas modulaire. (Toyama) R : Π : Autorise : {f (0, 1, x) → f (x, x, x) R π(x, y) → x π(x, y) → y Π : Autorise : →... f (π(0, 1), π(0, 1), π(0, 1)) − →⋆ f (0, 1, π(0, 1)) − Π U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 3 {f (0, 1, x) → f (x, x, x) π(x, y) → x π(x, y) → y →... f (π(0, 1), π(0, 1), π(0, 1)) − →⋆ f (0, 1, π(0, 1)) − R Ordres de simplification. . . Contraintes lourdes sur les unions. . . X. Urbain — MPRI : Π R Définition. R termine CE si et seulement si R ∪ Π termine. X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 4 Terminaison : modularité CE Terminaison : modularité : bonnes propriétés Terminaison CE CE modulaire pour : SN et non duplicant : • Unions disjointes • Unions à constructeurs partagés pour branchements finis dans la suite : branchements finis fj (cj , x) fj (x, y) fj (x, y) a π(x, y) π(x, y) CE SN SN et projectif non déterministe : SN simplifiant : → fj+1 (x, x) j ∈ N → x → y X. Urbain — MPRI : bonnes propriétés CE CE SN SN → cj → x j ∈ N → y U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 5 Terminaison : modularité X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 6 Exemple. Signature Règles de base Définition. Un module [F2 | R2 ] étend R1 (F1 ) : F0 {#, 0, 1} F1 {+} #+x x0 + y0 x0 + y1 R0 R1 • F2 ∩ F1 = ∅, • R2 (F1 ∪ F2 ) t.q. pour chaque l → r ∈ R2 , Λ(l) ∈ F2 , R = R1 ∪ R2 : extension hiérarchique de R1 . Nouveaux symboles Règles adéquates F2 R2 F0 R0 {#0 → # {×} #×x x0 × y → x x+# (x + y)0 x1 + y0 → (x + y)1 x1 + y1 → → → # (x × y)0 x×# x1 × y → x → ((x + y) + #1)0 → (x + y)1 → # → (x × y)0 + y F1 R1 F2 R2 But : prouver la terminaison de l’ensemble incrémentalement. X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 7 X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 8 Hiérarchique avec sous-système commun (Ohlebusch) Systèmes composables (Gramlich, Kurihara & Ohuchi,. . . ) Définition. R1 (F1 ) ← [F2 | R2 ]. hl, r ′ i paire de dépendance du module [F2 | R2 ] : R0 R0 • l → r ∈ R2 , M1 M2 Terminaison : modularité M1 • r ′ sous-terme de r tel que Λ(r ′ ) ∈ F2 . DP(M ) : paires de dépendance de toutes les règles de M . M2 Remarque. — R(F) [FC | ∅] ← [FD | R]. Pour [FC | ∅] ← [FD | R], identiques aux DP de Arts & Giesl. X. Urbain — MPRI Exemple.n R# #0 R+ R× U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 9 #×x x0 × y X. Urbain — MPRI → x x+# → (x + y)1 x1 + y1 → (x + y)0 → # → (x × y)0 U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 10 Terminaison : chaînes relatives → # #+x x0 + y0 x0 + y1 X. Urbain — MPRI x1 + y0 x×# x1 × y → x → (x + y)1 Définition. Chaîne de dépendance de M sur R : → ((x + y) + #1)0 → → DP(M ) s1 # (x × y)0 + y hx0×y, x×yi DP(M× ) : hx1×y, x×yi U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 11 t1 R ⋆ s2 DP(M ) t2 R ⋆ s3 DP(M ) ... Chaînes minimales : pour toute hs, ti avec sσ = f (u1 , . . . , un ), pour tout i, ui fortement normalisable (pour R). X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 12 Modules + terminaison CE Modules + terminaison CE Théorème 1. F1 Théorème 1. R1 (F1 ) ← [F2 | R2 ]. • R1 termine R1 CE , • Aucune chaîne infinie de [F2 | R2 ] sur R1 ∪ R2 ∪ Π, Alors R1 ∪ R2 termine CE . avec F3 ∩ F2 = ∅. F2 F3 R2 R3 1. R1 ∪ R2 termine Pas de R2 CE , 2. Aucune chaîne infinie de [F3 | R3 ] sur R1 ∪ R3 ∪ Π, Alors R1 ∪ R2 ∪ R3 termine U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 13 X. Urbain — MPRI ≥ X. Urbain — MPRI CE . U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 14 ≥ Lemme. F1 ∩ F2 = ∅, S1 (F1 ), S2 (F1 ), [F1 | ∅] ← [F2 | S3 ]. ≥ ≥ DP[F1 | S2 ] s1 t1 S1 ∪ S2 ∪ S3 DP[F1 | S2 ] ⋆ s2 t2 S1 ∪ S2 ∪ S3 DP[F1 | S2 ] ⋆ ... s3 > DP[F1 | S2 ] DP[F1 | S2 ] ⋆ ⋆ ... I(t1 ) I(s2 ) I(t2 ) I(s3 ) S1 ∪ S2 ∪ Π S1 ∪ S2 ∪ Π DP[F1 | S2 ] I(s1 ) M6 X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 15 X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 16 I(x) : T (F1 ∪ F2 , X) → T∞ (F1 ∪ {π : 2} ∪ {⊥ : 0}, X) I(x) = I(f (t1 . . . tn )) = où S(t) = ⋆ I (∅) = I⋆ ({a} ∪ Set ) = x si x ∈ X, f (I(t ) . . . I(t )) si f ∈ F , 1 n 1 I⋆ (S(f (t1 . . . tn ))) si f ∈ F2 , ′ S1 ∪ S2 I(f (a, b)) = : a b g(c) → c → c → {I(t )/ t −−−−−−→ t }, ⊥, : π ′ S1 ∪S2 ∪S3 S3 c f (x, y) → x f (x, x) → g(x) π π(a, I⋆ (Set)) où pour tout e ∈ Set, a < e. π ⊥ Rq. — Pour t, ∀ti ⊳ t, ti (Λ) ∈ F2 ⇒ ti mortel pour S1 ∪ S2 ∪ S3 ⇒ I(t) bien définie. Bf du calcul par induction bf sur (−−−−−−→+ , ⊲)lex . S1 ∪S2 ∪S3 U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 17 X. Urbain — MPRI t1 = f (a, h(. . .)) f I(u1 ) a I(t1 ) h ∈ F2 t1 −−→ t2 S3 I(u3 ) I(t1 ) −→ −→⋆ I(t2 ) Π1 Π2 π I(u2 ) π I(u3 ) X. Urbain — MPRI t1 = f (a, h(. . .)) f t1 −−→ t2 π U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 18 h ∈ F2 S3 a X. Urbain — MPRI π U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 19 X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 20 Notation : I(σ) : Lemme 3. ∀s, t ∈ T (F1 ∪ F2 , X), l → r ∈ S1 ∪ S2 , x ∈ X 7→ I(xσ). p s −−→ t ⇒ I(s) −−−−−−→+ I(t). S1 ∪S2 ∪Π l→r Lemme 1. ∀t ∈ T (F1 , X), ∀σ substitution (avec t ∈ Dom(I)) I(tσ) = tI(σ). Ind. sur t. Lemme 4. ∀s, t ∈ T (F1 ∪ F2 , X), l → r ∈ S3 , Lemme 2. ∀t1 , . . . , tn ∈ T (F1 ∪ F2 , X), ∀C contexte sur F1 à n trous, I(C[t1 , . . . , tn ]) = C[I(t1 ), . . . , I(tn )]. p s −−→ t ⇒ I(s) −−−→+ I(t). l→r Π Ind. sur C. X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 21 Lemme. F1 ∩ F2 = ∅, S1 (F1 ), S2 (F1 ), [F1 | ∅] ← [F2 | S3 ]. DP[F1 | S2 ] s1 t1 S1 ∪ S2 ∪ S3 DP[F1 | S2 ] I(s1 ) I(t1 ) DP[F1 | S2 ] ⋆ s2 t2 S1 ∪ S2 ∪ S3 DP[F1 | S2 ] DP[F1 | S2 ] ⋆ I(s2 ) S1 ∪ S2 ∪ Π I(t2 ) 6=Λ⋆ 6=Λ⋆ S1 ∪S2 ∪S3 S1 ∪S2 ∪S3 hui , vi i −−−−−−→hui+1 , vi+1 i −−−−−−→ · · · Prendre σ ′ = I(σ) DP sur F1 donc sans pb. DP[F1 | S2 ] ⋆ ... s3 ⋆ I(s3 ) S1 ∪ S2 ∪ Π ... σ (chaîne minimale donc σ ok.) 6=Λ⋆ Par lemmes 3 et 4 : vi σ ′ −−−−−−→ ui+1 σ ′ U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 22 X. Urbain — MPRI Théorème. R1 (F1 ) ← [F2 | R2 ]. • R1 termine CE , • Aucune chaîne infinie de [F2 | R2 ] sur R1 ∪ R2 ∪ Π, Alors R1 ∪ R2 termine CE . Réduction infinie : chaîne infinie de [F1 ∪ F2 | R1 ∪ R2 ] sur R1 ∪ R2 . 1. Que des paires de [F2 | R2 ] ; 2. Que des paires de [F1 | R1 ] ; 3. Quelques paires de [F2 | R2 ] puis que des paires de [F1 | R1 ]. S1 ∪S2 ∪Π X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 23 X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 24 Terminaison : modules et ordres Théorème. [F2 | R2 ] R1 (F1 ) [F3 | R3 ] • R1 ∪ R2 termine Définition. (≥, ≻) compatible CE (sur T (F, X)) : ∃(≥′ , ≻′ ) sur T (F ∪ {π}, X) tel que F3 ∩ F2 = ∅. CE , • Aucune chaîne infinie de [F3 | R3 ] sur R1 ∪ R3 ∪ Π, Alors R1 ∪ R2 ∪ R3 termine CE . 1. Que des paires de [F3 | R3 ] ; 2. Que des paires de [F1 | R1 ] ; 3. Quelques paires de [F2 | R2 ] puis que des paires de [F1 | R1 ]. • (≥′ , ≻′ )|T (F ,X) = (≥, ≻), • π(s, t) ≥′ s π(s, t) ≥′ t Théorème. R ⊂≻ pour (≥, ≻) compatible CE , stable, mono. ⇒ R termine U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 25 R ⊆≥, (≥, ≻) compatible CE , stable, w. mono. tel que : DP(R) ⊆≻, CE . U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 26 X. Urbain — MPRI Terminaison : modules et ordres Terminaison : modules et ordres Compo lex : OK, Compo lex : OK, déf. par AFS : OK Théorème. [F2 | R2 ] R1 (F1 ) [F3 | R3 ] Théorème. R1 (F1 ) ← [F2 | R2 ]. • R1 termine CE , • ∃(≥, ≻) compatible CE, stable, w. mono. tel que : – R1 ∪ R2 ⊆≥, X. Urbain — MPRI • R1 ∪ R2 termine déf. par AFS : OK F3 ∩ F2 = ∅. CE , • ∃(≥, ≻) compatible CE, stable, w. mono. tel que : – R1 ∪ R3 ⊆≥, – DP([F2 | R2 ]) ⊆≻, Alors R1 ∪ R2 termine CE . Théorème. R termine X. Urbain — MPRI ∀s, t ∈ T (F ∪ {π}, X). – DP([F2 | R3 ]) ⊆≻, CE . Alors R1 ∪ R2 ∪ R3 termine U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 27 X. Urbain — MPRI CE . U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 28 Terminaison sous stratégies • Stratégies globales (innermost, outermost, etc.) • Stratégies locales (context-sensitive, etc.) Terminaison sous stratégies : innermost Appel par valeur en prog. fonctionnelle Réduction innermost Λ s− →i t ssi ∀sj ⊳ s, sj normalisé • etc. R • Paires : hu, vi inutile si rédexe contenu dans u • Chaînes : restriction aux étapes innermost Du bon : contraintes analyse plus fine Du moins bon : contraintes analyse plus technique {f (0, 1, x) → f (x, x, x), π(x, y) → x, π(x, y) → y} termine innermost 6=Λ hfb(0, 1, x), fb(x, x, x)i −−→i ⋆ hfb(0, 1, y), fb(y, y, y)i impossible R X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 29 X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 30 Terminaison sous stratégies : innermost Terminaison sous stratégies : innermost Chaîne innermost : séquence hsi , ti i hsi+1 , ti+1 i avec Mieux ? oui ! • σ normale (∀x ∈ X , xσ en forme normale) σ contrainte règles, paires inutiles • hu, vi avec v sans symbole défini 6=Λ • ti σ −−→i ⋆ si+1 σ R 0 pas • l → r avec rédexe strictement dans l Relation s ։D,R t si • Sous-termes stricts de s et t mortels 6=Λ Λ R D • σ normale t.q. s −−→i ⋆ s′ ≡ uσ − →t • ? Théorème. (A. & G.) →R termine innermost ssi ։DPi (R),R termine innermost inutile Plus fin : pour Gi = {hs1 , t1 i, . . . , hsn , tn i} [ {l → r ∈ R|∃σ, τ, C t.q. si σ, sj σ norm., ti σ − →i ⋆ C[lτ ] − →i C[rτ ] − →i ⋆ sj σ} 1≤i,j≤n Rq. toujours pas décidable... SNinn (→R ) ⇐⇒ SNinn (։DPi (R),R ) X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 31 X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 32 Terminaison sous stratégies : innermost Terminaison sous stratégies : innermost ∀f ∈ F, NR(R, f ) = {l → r ∈ R|l(Λ) = f et pas de redexe ⊳ l} Théorème. Si ∀Gi ⊆ G fortement connexe ∃(≥, ≻) (wf, stable, w-mono là où utile) Règles utilisables pour t dans R : UT(R, x) = ∅ Sn UT(R, f (t1 , . . . , tn )) = NR(R, f ) ∪ j=1 UT(R \ NR(R, f ), tj ) S ∪ l→r∈NR(R,f ) UT(R \ NR(R, f ), r) 1. ∀hs, ti ∈ Gi , s ≥ t et ∀l → r ∈ UT(R, t), l ≥ r 2. ∃hs0 , t0 i ∈ Gi t.q. s ≻ t alors SNinn (։G,R ). x−0 → s(x) − s(y) → → 0 ÷ s(y) s(x) ÷ s(y) → Chaînes : ⋆ hs, ti −−−−−→i ⋆ hs′ , t′ i −−−−−→ ··· ′ i UT(R,t) UT(R,t ) x x−y 0 s((x − y) ÷ s(y)) cas particulier de preuve modulaire... U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 33 X. Urbain — MPRI Terminaison sous stratégies : innermost ? Approximation du graphe : hs, ti − →i hs′ , t′ i Sous-termes stricts déf. de t (évt) récrits mais X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 34 Terminaison sous stratégies : innermost Théorème. Si arc de G entre hs, ti et hs′ , t′ i alors connectables innermost. • Pas si sous-termes de s (déjà n.f.) • Occurrences d’une var non différenciées (dans s donc n.f.) C AP (s, t) Unification pas suffisante : sσ, s′ σ n.f. (σ mgu) Approx. : hs, ti et hs′ , t′ i connectables innermost si 1. mgu(C AP (s, t), s′ ) = µ 2. sµ et s′ µ formes normales X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 35 X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 36 Terminaison sous stratégies : innermost Terminaison sous stratégies : innermost Bénéfice cas général : classes de systèmes où SNinn (→R ) =⇒ SN(→R ). Théorème. (Gramlich) UIN(R) ∨ AICR(R) ⇒ (SN(→R ) ⇔ SNinn (→R )). Réduction innermost unique : p p →i t2 ⇒ t1 = t2 UIN(R) =déf ∀s, t1 , t2 , p : s − →i t1 ∧ s − R R p Innermost non critique : s −−−−→ t t.q. l→r,σ • s|p rédexe innermost, ou bien • Tout rédexe innermost > p dans σ Pour automatisation, test plus fort : pas de paire critique SN(→R ) ⇔ SNinn (→R )). (overlay localement confluent. . . ) Rq. 1. innermost ⇒ non critique Rq. 2. critique paire critique q(0, s(y), s(z)) → 0 q(s(x), s(y), z) → q(x, y, z) q(x, 0, s(z)) → s(q(x, s(z), s(z))) Innermost critiques évitables : AICR(R) =déf ∀s, t : s → t ⇒ (s −−→ t ∨ ∃s′ , s − →i s′ →⋆ t) inc Théorème. (Gramlich) UIN(R) ∨ AICR(R) ⇒ (SN(→R ) ⇔ SNinn (→R )). X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 37 Terminaison sous stratégies : narrowing Théorème. Pour toute hs, ti ∈ D ⊆ DPi (R) avec tµ = si µ (µ mgu) ⇒ tµ ou si µ pas forme normale, SNinn (։D\{hs,ti}∪{hs′,t′ i|hs,ti hs′ ,t′ i},R ) ⇒ SNinn (։D,R ). • Moins de UT(R, t), • Réciproque fausse. X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 39 X. Urbain — MPRI U N JEU DE SLIDES N ’ EST PAS UN POLY DE RÉFÉRENCE 38