feature constraints to modelise unix filesystems

Feature constraints to modelise Unix filesystems Nicolas Jeannerod - PowerPoint PPT Presentation

Feature constraints to modelise Unix filesystems Nicolas Jeannerod IRIF February 7, 2018 1/27 The CoLiS Project Shell 2/27 The CoLiS Project Translation Shell IL 2/27 The CoLiS Project Translation Shell IL 2/27 The CoLiS Project


  1. ∼ : Much better ◮ Allows to express the update: . “ y is x with f → v ” := y ∼ f x ∧ y [ f ] v ◮ Symmetric and transitive: . x . y ∼ f x ⇐ ⇒ ∼ f y . . . y ∼ f x ∧ z ∼ f x = ⇒ y ∼ f z ◮ Other properties: . . . y ∼ f x ∧ z ∼ g x = ⇒ y ∼ { f,g } z . . . y ∼ f x ∧ y ∼ g x ⇐ ⇒ y ∼ ∅ x 11/27

  2. ∼ : Much better ◮ Allows to express the update: . “ y is x with f → v ” := y ∼ f x ∧ y [ f ] v ◮ Symmetric and transitive: . x . y ∼ f x ⇐ ⇒ ∼ f y . . . y ∼ f x ∧ z ∼ f x = ⇒ y ∼ f z ◮ Other properties: . . . y ∼ f x ∧ z ∼ g x = ⇒ y ∼ { f,g } z . . . y ∼ f x ∧ y ∼ g x ⇐ ⇒ y ∼ ∅ x ◮ Allows to remove variables: � � y is x with f → v ∃ x · ∧ z is x with g → w 11/27

  3. ∼ : Much better ◮ Allows to express the update: . “ y is x with f → v ” := y ∼ f x ∧ y [ f ] v ◮ Symmetric and transitive: . x . y ∼ f x ⇐ ⇒ ∼ f y . . . y ∼ f x ∧ z ∼ f x = ⇒ y ∼ f z ◮ Other properties: . . . y ∼ f x ∧ z ∼ g x = ⇒ y ∼ { f,g } z . . . y ∼ f x ∧ y ∼ g x ⇐ ⇒ y ∼ ∅ x ◮ Allows to remove variables: . � � y ∼ f x ∧ y [ f ] v ∃ x · . ∧ z ∼ g x ∧ z [ g ] w 11/27

  4. ∼ : Much better ◮ Allows to express the update: . “ y is x with f → v ” := y ∼ f x ∧ y [ f ] v ◮ Symmetric and transitive: . x . y ∼ f x ⇐ ⇒ ∼ f y . . . y ∼ f x ∧ z ∼ f x = ⇒ y ∼ f z ◮ Other properties: . . . y ∼ f x ∧ z ∼ g x = ⇒ y ∼ { f,g } z . . . y ∼ f x ∧ y ∼ g x ⇐ ⇒ y ∼ ∅ x ◮ Allows to remove variables: . � � y ∼ f x ∧ y [ f ] v ∃ x · ↔ y [ f ] v ∧ z [ g ] w . ∧ z ∼ g x ∧ z [ g ] w 11/27

  5. ∼ : Much better ◮ Allows to express the update: . “ y is x with f → v ” := y ∼ f x ∧ y [ f ] v ◮ Symmetric and transitive: . x . y ∼ f x ⇐ ⇒ ∼ f y . . . y ∼ f x ∧ z ∼ f x = ⇒ y ∼ f z ◮ Other properties: . . . y ∼ f x ∧ z ∼ g x = ⇒ y ∼ { f,g } z . . . y ∼ f x ∧ y ∼ g x ⇐ ⇒ y ∼ ∅ x ◮ Allows to remove variables: . � � y ∼ f x ∧ y [ f ] v . ∃ x · ↔ y [ f ] v ∧ z [ g ] w ∧ y ∼ { f,g } z . ∧ z ∼ g x ∧ z [ g ] w 11/27

  6. Table of Contents 1. Description of filesystems Unix filesystems Static description Directory update 2. Constraints Definitions Basic constraints Negation 3. Usages Decidability of the First-Order Theory Automated Specification for Scripts: Proof of Concept 12/27

  7. Model and Constraints ::= F � ftree ftree 13/27

  8. Model and Constraints ::= F � ftree ftree ◮ F infinite set of features (names for the edges); ◮ F � ftree : partial function with finite domain; 13/27

  9. Model and Constraints ::= F � ftree ftree ◮ F infinite set of features (names for the edges); ◮ F � ftree : partial function with finite domain; ◮ Infinite set of variables x , y , etc.; ◮ f ∈ F , F ⊂ F finite. x . Equality = y Feature x [ f ] y x [ f ] ↑ Absence x . Fence x [ F ] ∼ F y Similarity 13/27

  10. Model and Constraints ::= F � ftree ftree ◮ F infinite set of features (names for the edges); ◮ F � ftree : partial function with finite domain; ◮ Infinite set of variables x , y , etc.; ◮ f ∈ F , F ⊂ F finite. x . Equality = y Feature x [ f ] y x [ f ] ↑ Absence x . Fence x [ F ] ∼ F y Similarity ◮ Composed with ¬ , ∧ , ∨ , ∃ x , ∀ x (no quantification on features); 13/27

  11. Model and Constraints ::= F � ftree ftree ◮ F infinite set of features (names for the edges); ◮ F � ftree : partial function with finite domain; ◮ Infinite set of variables x , y , etc.; ◮ f ∈ F , F ⊂ F finite. x . Equality = y Feature x [ f ] y x [ f ] ↑ Absence x . Fence x [ F ] ∼ F y Similarity ◮ Composed with ¬ , ∧ , ∨ , ∃ x , ∀ x (no quantification on features); ◮ Wanted: (un)satisfiability of these constraints; ◮ Bonus point for incremental procedures. 13/27

  12. Semantics T , ρ | = c ◮ T the model of all feature trees; ◮ ρ : V ( c ) → T ; 14/27

  13. Semantics T , ρ | = c ◮ T the model of all feature trees; ◮ ρ : V ( c ) → T ; x . Equality: T , ρ | = = y if ρ ( x ) = ρ ( y ) 14/27

  14. Semantics T , ρ | = c ◮ T the model of all feature trees; ◮ ρ : V ( c ) → T ; x . Equality: T , ρ | = = y if ρ ( x ) = ρ ( y ) Feature: T , ρ | = x [ f ] y if ρ ( x )( f ) = ρ ( y ) Absence: T , ρ | = x [ f ] ↑ if f / ∈ dom ( ρ ( x )) 14/27

  15. Semantics T , ρ | = c ◮ T the model of all feature trees; ◮ ρ : V ( c ) → T ; x . Equality: T , ρ | = = y if ρ ( x ) = ρ ( y ) Feature: T , ρ | = x [ f ] y if ρ ( x )( f ) = ρ ( y ) Absence: T , ρ | = x [ f ] ↑ if f / ∈ dom ( ρ ( x )) Fence: T , ρ | = x [ F ] if dom ( ρ ( x )) ⊆ F 14/27

  16. Semantics T , ρ | = c ◮ T the model of all feature trees; ◮ ρ : V ( c ) → T ; x . Equality: T , ρ | = = y if ρ ( x ) = ρ ( y ) Feature: T , ρ | = x [ f ] y if ρ ( x )( f ) = ρ ( y ) Absence: T , ρ | = x [ f ] ↑ if f / ∈ dom ( ρ ( x )) Fence: T , ρ | = x [ F ] if dom ( ρ ( x )) ⊆ F x . Similarity: T , ρ | = ∼ F y if ρ ( x ) ↾ F = ρ ( y ) ↾ F 14/27

  17. Table of Contents 1. Description of filesystems Unix filesystems Static description Directory update 2. Constraints Definitions Basic constraints Negation 3. Usages Decidability of the First-Order Theory Automated Specification for Scripts: Proof of Concept 15/27

  18. Game plan ◮ Rewriting system; 16/27

  19. Game plan ◮ Rewriting system; ◮ Puts constraints in normal form (not necessarily unique); 16/27

  20. Game plan ◮ Rewriting system; ◮ Puts constraints in normal form (not necessarily unique); ◮ Respects equivalences; 16/27

  21. Game plan ◮ Rewriting system; ◮ Puts constraints in normal form (not necessarily unique); ◮ Respects equivalences; ◮ Normal forms: either ⊥ or with nice properties. 16/27

  22. Basic rewriting system x 1 [ f 1 ] x 2 ∧ . . . ∧ x n [ f n ] x 1 ( n ≥ 1) x [ f ] y ∧ x [ f ] ↑ x [ f ] y ∧ x [ F ] ( f / ∈ F ) Clash Patterns 17/27

  23. Basic rewriting system x 1 [ f 1 ] x 2 ∧ . . . ∧ x n [ f n ] x 1 ( n ≥ 1) x [ f ] y ∧ x [ f ] ↑ x [ f ] y ∧ x [ F ] ( f / ∈ F ) Clash Patterns ∃ X, x · ( x . = y ∧ c ) ⇒ ∃ X · c { x �→ y } ( x � = y ) ∃ X, z · ( x [ f ] y ∧ x [ f ] z ∧ c ) ⇒ ∃ X · ( x [ f ] y ∧ c { z �→ y } ) ( y � = z ) x . ∼ F y ∧ x . x . ∼ G y ∧ c ⇒ ∼ F ∩ G y ∧ c Simplification Rules 17/27

  24. Basic rewriting system x 1 [ f 1 ] x 2 ∧ . . . ∧ x n [ f n ] x 1 ( n ≥ 1) x [ f ] y ∧ x [ f ] ↑ x [ f ] y ∧ x [ F ] ( f / ∈ F ) Clash Patterns ∃ X, x · ( x . = y ∧ c ) ⇒ ∃ X · c { x �→ y } ( x � = y ) ∃ X, z · ( x [ f ] y ∧ x [ f ] z ∧ c ) ⇒ ∃ X · ( x [ f ] y ∧ c { z �→ y } ) ( y � = z ) x . ∼ F y ∧ x . x . ∼ G y ∧ c ⇒ ∼ F ∩ G y ∧ c Simplification Rules x . x . ∼ F y ∧ x [ f ] z ∧ c ⇒ ∼ F y ∧ x [ f ] z ∧ y [ f ] z ∧ c ( f / ∈ F ) x . x . ∼ F y ∧ x [ f ] ↑ ∧ c ⇒ ∼ F y ∧ x [ f ] ↑ ∧ y [ f ] ↑ ∧ c ( f / ∈ F ) x . x . ∼ F y ∧ x [ G ] ∧ c ⇒ ∼ F y ∧ x [ G ] ∧ y [ F ∪ G ] ∧ c x . ∼ F y ∧ x . x . ∼ F y ∧ x . . ∼ G z ∧ c ⇒ ∼ G z ∧ y ∼ F ∪ G z ∧ c ( if � ∼ H z H �⊆ F ∪ G ) y . Propagation Rules 17/27

  25. Properties Lemma The basic constraint system terminates and yields a clause that is equivalent to the first one. 18/27

  26. Properties Lemma The basic constraint system terminates and yields a clause that is equivalent to the first one. Lemma Let c be a clause c = g c ∧ ∃ X · l c such that 18/27

  27. Properties Lemma The basic constraint system terminates and yields a clause that is equivalent to the first one. Lemma Let c be a clause c = g c ∧ ∃ X · l c such that: ◮ c is in normal form; 18/27

  28. Properties Lemma The basic constraint system terminates and yields a clause that is equivalent to the first one. Lemma Let c be a clause c = g c ∧ ∃ X · l c such that: ◮ c is in normal form; ◮ V ( g c ) ∩ X = ∅ ; ◮ every literal in l c is about X ; 18/27

  29. Properties Lemma The basic constraint system terminates and yields a clause that is equivalent to the first one. Lemma Let c be a clause c = g c ∧ ∃ X · l c such that: ◮ c is in normal form; ◮ V ( g c ) ∩ X = ∅ ; ◮ every literal in l c is about X ; ◮ there is no y [ f ] x with x ∈ X and y / ∈ X . 18/27

  30. Properties Lemma The basic constraint system terminates and yields a clause that is equivalent to the first one. Lemma Let c be a clause c = g c ∧ ∃ X · l c such that: ◮ c is in normal form; ◮ V ( g c ) ∩ X = ∅ ; ◮ every literal in l c is about X ; ◮ there is no y [ f ] x with x ∈ X and y / ∈ X . Then c is equivalent to g c . 18/27

  31. Table of Contents 1. Description of filesystems Unix filesystems Static description Directory update 2. Constraints Definitions Basic constraints Negation 3. Usages Decidability of the First-Order Theory Automated Specification for Scripts: Proof of Concept 19/27

  32. Negation: new players, new rules aka La Slide de la Mort 20/27

  33. Negation: new players, new rules ¬ x [ f ] y ∧ c ⇒ ( x [ f ] ↑ ∨∃ z · ( x [ f ] z ∧ y �∼ ∅ z )) ∧ c ¬ x [ f ] ↑ ∧ c ⇒ ∃ z · x [ f ] z ∧ c Simple Replacement Rules 20/27

  34. Negation: new players, new rules ¬ x [ f ] y ∧ c ⇒ ( x [ f ] ↑ ∨∃ z · ( x [ f ] z ∧ y �∼ ∅ z )) ∧ c ¬ x [ f ] ↑ ∧ c ⇒ ∃ z · x [ f ] z ∧ c Simple Replacement Rules x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules 20/27

  35. Negation: new players, new rules x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules 20/27

  36. Negation: new players, new rules x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules 20/27

  37. Negation: new players, new rules � x � F � := ∃ z · x [ f ] z f ∈ F x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules 20/27

  38. Negation: new players, new rules � ∃ z ′ · ( x [ f ] ↑ ∧ y [ f ] z ′ ) ∨ ∃ z · ( x [ f ] z ∧ y [ f ] ↑ ) � x � . � = F y := ∨∃ z, z ′ · ( x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ) f ∈ F x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules 20/27

  39. Negation: new players, new rules � ∃ z ′ · ( x [ f ] ↑ ∧ y [ f ] z ′ ) ∨ ∃ z · ( x [ f ] z ∧ y [ f ] ↑ ) � x � . � = F y := ∨∃ z, z ′ · ( x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ) f ∈ F x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules x . x . ∼ F y ∧ ¬ x [ G ] ∧ c ⇒ ∼ F y ∧ ( ¬ x [ F ∪ G ] ∨ x � F \ G � ) ∧ c ( F �⊆ G x . x . ∼ F y ∧ ¬ x [ G ] ∧ c ⇒ ∼ F y ∧ ¬ x [ G ] ∧ ¬ y [ G ] ∧ c ( F ⊆ G x �∼ F ∪ G z ∨ x � . x . x . � � ∼ F y ∧ x �∼ G z ∧ c ⇒ ∼ F y ∧ = F \ G z ∧ c ( F �⊆ G x . x . ∼ F y ∧ x �∼ G z ∧ c ⇒ ∼ F y ∧ x �∼ G z ∧ y �∼ G z ∧ c ( F ⊆ G Enlargement and Propagation Rules 20/27

  40. Negation: new players, new rules � ∃ z ′ · ( x [ f ] ↑ ∧ y [ f ] z ′ ) ∨ ∃ z · ( x [ f ] z ∧ y [ f ] ↑ ) � x � . � = F y := ∨∃ z, z ′ · ( x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ) f ∈ F x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules 20/27

  41. Negation: new players, new rules � ∃ z ′ · ( x [ f ] ↑ ∧ y [ f ] z ′ ) ∨ ∃ z · ( x [ f ] z ∧ y [ f ] ↑ ) � x � . � = F y := ∨∃ z, z ′ · ( x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ) f ∈ F x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules 20/27

  42. Negation: new players, new rules � ∃ z ′ · ( x [ f ] ↑ ∧ y [ f ] z ′ ) ∨ ∃ z · ( x [ f ] z ∧ y [ f ] ↑ ) � x � . � = F y := ∨∃ z, z ′ · ( x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ) f ∈ F x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules x [ F ] = “ x has no feature outside F ” x �∼ G y = “there is a feature outside G that differentiates x and y ” 20/27

  43. Negation: new players, new rules � ∃ z ′ · ( x [ f ] ↑ ∧ y [ f ] z ′ ) ∨ ∃ z · ( x [ f ] z ∧ y [ f ] ↑ ) � x � . � = F y := ∨∃ z, z ′ · ( x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ) f ∈ F x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules x [ F ] = “ x has no feature outside F ” x �∼ G y = “there is a feature outside G that differentiates x and y ” ◮ either it is in F , ◮ or it is not, 20/27

  44. Negation: new players, new rules � ∃ z ′ · ( x [ f ] ↑ ∧ y [ f ] z ′ ) ∨ ∃ z · ( x [ f ] z ∧ y [ f ] ↑ ) � x � . � = F y := ∨∃ z, z ′ · ( x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ) f ∈ F x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules x [ F ] = “ x has no feature outside F ” x �∼ G y = “there is a feature outside G that differentiates x and y ” ◮ either it is in F , and we can list all the cases; ◮ or it is not, 20/27

  45. Negation: new players, new rules � ∃ z ′ · ( x [ f ] ↑ ∧ y [ f ] z ′ ) ∨ ∃ z · ( x [ f ] z ∧ y [ f ] ↑ ) � x � . � = F y := ∨∃ z, z ′ · ( x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ) f ∈ F x [ F ] ∧ ¬ x [ G ] ∧ c ⇒ x [ F ] ∧ x � F \ G � ∧ c ¬ y [ F ∪ G ] ∨ x � . � � x [ F ] ∧ x �∼ G y ∧ c ⇒ x [ F ] ∧ = F \ G y ∧ c ∼ F y ∧ x � . x . x . ∼ F y ∧ x �∼ G y ∧ c ⇒ = F \ G y ∧ c More Replacement Rules x [ F ] = “ x has no feature outside F ” x �∼ G y = “there is a feature outside G that differentiates x and y ” ◮ either it is in F , and we can list all the cases; ◮ or it is not, and since x [ F ] then ¬ y [ F ∪ G ] . 20/27

  46. Properties Lemma The constraint system terminates and yields a clause that is equivalent to the first one. 21/27

  47. Properties Lemma The constraint system terminates and yields a clause that is equivalent to the first one. Lemma Let c be a clause c = g c ∧ ∃ X · l c such that: ◮ c is in normal form; ◮ V ( g c ) ∩ X = ∅ ; ◮ every literal in l c is about X ; ◮ there is no y [ f ] x with x ∈ X and y / ∈ X . Then c is equivalent to g c . 21/27

  48. Does that even terminate? R-NSim-Fence : x [ F ] ∧ x �∼ G y ∧ c ¬ y [ F ∪ G ] ∨ x � . � � ⇒ x [ F ] ∧ = F \ G y ∧ c 22/27

  49. Does that even terminate? R-NSim-Fence (for F = { f } and G = ∅ ): x [ { f } ] ∧ x �∼ ∅ y ∧ c x [ { f } ] ∧ ( ¬ y [ { f } ] ∨ x � . ⇒ = f y ) ∧ c 22/27

  50. Does that even terminate? R-NSim-Fence (for F = { f } and G = ∅ ): x [ { f } ] ∧ x �∼ ∅ y ∧ c ∃ z, z ′ · x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ∧ x [ { f } ⇒ 22/27

  51. Does that even terminate? . . R-NSim-Fence (for F = { f } and G = ∅ ): . f x [ { f } ] ∧ x �∼ ∅ y ∧ c y 0 x 0 [ { f } ] �∼ ∅ ∃ z, z ′ · x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ∧ x [ { f } ⇒ f x 1 [ { f } ] f x 2 [ { f } ] f . . . f x n [ { f } ] f . . . 22/27

  52. Does that even terminate? . . R-NSim-Fence (for F = { f } and G = ∅ ): . f x [ { f } ] ∧ x �∼ ∅ y ∧ c y 0 x 0 [ { f } ] �∼ ∅ ∃ z, z ′ · x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ∧ x [ { f } ⇒ f x 1 [ { f } ] ◮ R-NSim-Fence with x 0 and y 0 ; f x 2 [ { f } ] f . . . f x n [ { f } ] f . . . 22/27

  53. Does that even terminate? . ∃ y 1 , z 1 · . R-NSim-Fence (for F = { f } and G = ∅ ): . f x [ { f } ] ∧ x �∼ ∅ y ∧ c y 0 x 0 [ { f } ] ∃ z, z ′ · x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ∧ x [ { f } ⇒ f f f z 1 y 1 x 1 [ { f } ] �∼ ∅ ◮ R-NSim-Fence with x 0 and y 0 ; f x 2 [ { f } ] f . . . f x n [ { f } ] f . . . 22/27

  54. Does that even terminate? . ∃ y 1 , z 1 · . R-NSim-Fence (for F = { f } and G = ∅ ): . f x [ { f } ] ∧ x �∼ ∅ y ∧ c y 0 x 0 [ { f } ] ∃ z, z ′ · x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ∧ x [ { f } ⇒ f f f z 1 y 1 x 1 [ { f } ] �∼ ∅ ◮ R-NSim-Fence with x 0 and y 0 ; f ◮ S-Feats with x 1 and z 1 x 2 [ { f } ] f . . . f x n [ { f } ] f . . . 22/27

  55. Does that even terminate? . ∃ y 1 · . R-NSim-Fence (for F = { f } and G = ∅ ): . f x [ { f } ] ∧ x �∼ ∅ y ∧ c y 0 x 0 [ { f } ] ∃ z, z ′ · x [ f ] z ∧ y [ f ] z ′ ∧ z �∼ ∅ z ′ ∧ x [ { f } ⇒ f f y 1 x 1 [ { f } ] �∼ ∅ ◮ R-NSim-Fence with x 0 and y 0 ; f ◮ S-Feats with x 1 and z 1 x 2 [ { f } ] f . . . f x n [ { f } ] f . . . 22/27

Recommend


More recommend