Vrification de systmes matriels avec les DDD Systmes

  • Slides: 46
Download presentation
Vérification de systèmes matériels avec les DDD Systèmes spécifiés à un haut niveau d’abstraction

Vérification de systèmes matériels avec les DDD Systèmes spécifiés à un haut niveau d’abstraction DDD : Structure de données exploitant le partage et la hiérarchie Emmanuelle Encrenaz-Tiphène Maître de Conférences à l’Université Paris VI – LIP 6 En délégation CNRS au Laboratoire Spécification et Vérification (LSV) ENS-Cachan En collaboration avec Vincent Beaudenon E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 1

Préambule – Hardware / Software Codesign • Application : réseau de tâches communicantes –

Préambule – Hardware / Software Codesign • Application : réseau de tâches communicantes – liens privés avec bufferisation (réseaux de Khan) – particularisation : données entières – buffers bornés – sélection • Exploration architecturale (différentes possibilités d’implantation des tâches) • Implantation matérielle (synthèse de haut niveau / synthèse des communications) • Chaîne de conception Disydent [Pétrot Augé et al, 03] E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 2

Vérification fonctionnelle de systèmes matériels • Simulations presque uniquement • Equivalence-Checking • Symbolic Model-Checking

Vérification fonctionnelle de systèmes matériels • Simulations presque uniquement • Equivalence-Checking • Symbolic Model-Checking • Méthodes « semi-formelles » pour des blocs combinatoires / RTL pour des petits blocs (10 KG) prennent le pas sur SMC – LTL sur séquences bornées moniteurs incorporés dans la simulation – CTL à profondeur bornée déroulement explicite de l’arbre d’exécution • Démonstrations assistées (architectures spécifiques : cœurs de processeurs / traitement du signal) E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 3

Notre objectif • Construire un Model-Checker Symbolique pour des systèmes décrits sous forme de

Notre objectif • Construire un Model-Checker Symbolique pour des systèmes décrits sous forme de graphe de tâches. • Représentation symbolique d’ensembles d’états du système + opérations ensemblistes ( , , ) – Données entières / structurées – Canaux de taille variable • Opérateurs Post et Pré sur la représentation symbolique de l’ensemble des états, associés à la sémantique des actions du graphe de tâches. E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 4

Plan de l’exposé • Modélisation de systèmes dans un sous-ensemble de Pro. Me. La

Plan de l’exposé • Modélisation de systèmes dans un sous-ensemble de Pro. Me. La • Représentation symbolique : Structure de donnée DDD – – – Représentation des ensembles d’états Opérations ensemblistes Homomorphismes pour instructions Pro. Me. La Introduction de la hiérarchie • Application à la vérification de propriétés CTL – Exemples classiques – Réseau VCI-SPIN • Conclusion E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 5

La plate-forme de vérification Pro. Me. La-SPIN [G. Holzmann 97] • Langage Pro. Me.

La plate-forme de vérification Pro. Me. La-SPIN [G. Holzmann 97] • Langage Pro. Me. La : description d’applications concurrentes, dynamiques, asynchrones, communication par buffers bornés et variables partagées • Vérification de propriétés de sûreté et de vivacité par exploration du graphe des états accessibles – Représentation explicite des états – Réduction de l’espace à analyser (techniques d’ordre partiel / compactage) • Applicable pour des systèmes "séquentiels" comportant 106 à 107 états E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 6

Un sous-ensemble de Pro. Me. La • Variables globales – Types scalaires (basés sur

Un sous-ensemble de Pro. Me. La • Variables globales – Types scalaires (basés sur entier) / Type produit – Tableaux – Canaux (bornés) • Processus concurrents – – Variables locales Instructions gardées (affectations, lecture / écriture) Choix indéterministe Répétition indéterministe • Pas d’instanciation dynamique de processus (run est exclu) • Les processus n’ont pas de paramètres E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 7

Exemple de description proctype proc_port_in 0_0() { MOT mess; bit reserve; bit current_clock=0; mtype

Exemple de description proctype proc_port_in 0_0() { MOT mess; bit reserve; bit current_clock=0; mtype sortie_down; bit jeton = 1; variables locales do : : (clock == current_clock) -> current_clock = !current_clock; lecture dans un canal x 0_d 0_spin_data_in? mess-> if : : (((mess. addest >> level_num 0_0) & 3) == level_id 0_0) -> /* Traitement des ports DOWN. */ sortie_down = (mess. addest >> (level_num 0_0 -1)) & 1; affectation if garde : : (sortie_down == 0) -> poss_out 0_0? jeton; do : : écriture dans un canal x 0_d 0_spin_data_out!mess; if : : mess. tag == FIN -> atomic{poss_out 0_0!jeton; goto SUITE_DOWN; } : : else -> x 0_d 0_spin_data_in? mess; fi; … } 8 E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA

Représentation symbolique d’états Diagrammes de Décision de Données (DDD) Structure de donnée pour représenter

Représentation symbolique d’états Diagrammes de Décision de Données (DDD) Structure de donnée pour représenter les ensembles d’états. (LIP 6 / La. BRI ): arbres partagés. • projet Clovis [DGA 01] • Application aux réseaux de Petri étendus [ATPN 02] [FORTE 04] [FORTE 05] • Variables décisionnelles de type fini • Représentation des chemins menant à 1 ou T • Exploitation du partage des sous-arbres isomorphes • Opérations ensemblistes : parcours attelé des 2 DDD (polynômial) • Modification « la plus locale possible » : homomorphisme E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 9

DDD : Structure • Nœuds : variables • Arcs : valeur dans les entiers

DDD : Structure • Nœuds : variables • Arcs : valeur dans les entiers • Contrainte: un seul arc d’une étiquette donnée en sortie d’un nœud a 1 1 1 b 2 1 c 2 partage 1 1 c a b 1 2 2 c 1 1 Interprétation : ensemble de mots (affectations) menant au nœud 1 Efficacité : partage E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 10

DDD : Normalisation • Les chemins invalides ne sont pas représentés • Conséquence :

DDD : Normalisation • Les chemins invalides ne sont pas représentés • Conséquence : domaine des variables inconnu a priori • Représentation de l’ensemble vide nœud terminal 0 a 1 1 b 1 normalisation c 2 1 2 c 0 1 a 0 1 partage b 1 2 2 c 1 1 Représentation canonique des DDD (classe d’équivalence) E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 11

DDD : Opérations ensemblistes (1) Un DDD est un ensemble de mots : Opérations

DDD : Opérations ensemblistes (1) Un DDD est un ensemble de mots : Opérations ensemblistes + * Exemple : a a a 2, 3 4 1, 3 2, 4 b b b 1 c 2, 6 3, 4 1 A 4 2 6 c 1 3 B E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA A * B 3 4 b 1 c b c 4 3 6 1 A*B 12

DDD : Opérations ensemblistes (2) Un DDD est un ensemble de mots : Opération

DDD : Opérations ensemblistes (2) Un DDD est un ensemble de mots : Opération de concaténation. Exemple : v 0 A . . . 1 v 1 B . . . A. B v 1 . . . 1 1 E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 13

DDD : Homomorphisme • Définition : d, d’ deux DDD bien définis Un homomorphisme

DDD : Homomorphisme • Définition : d, d’ deux DDD bien définis Un homomorphisme est une fonction telle que : (0) = 0 (d) + (d’) = (d + d’) d d’ d’ d réunion 1 E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 1 14

Homomorphismes inductifs Homomorphisme défini localement (0) = 0 (1) = constante (d) = définition

Homomorphismes inductifs Homomorphisme défini localement (0) = 0 (1) = constante (d) = définition locale à la racine de d et ses valuations Exemple : affectation d’une valeur constante var=val e e x …. val Si e == var E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA var=val e …. var=val …. Sinon 15

Homomorphismes inductifs Affectation v 1 = Constante Set. Cst(var, val) (1) = T (une

Homomorphismes inductifs Affectation v 1 = Constante Set. Cst(var, val) (1) = T (une erreur) val e — Id Set. Cst(var, val) (e, x) = x e — Set. Cst(var, val) E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA si e == var sinon 16

Autres homomorphismes inductifs • • • Set. Var (v 1, v 2) Set. Var.

Autres homomorphismes inductifs • • • Set. Var (v 1, v 2) Set. Var. Expr (var, expr) Sel. Var. Cst (var, const) Sel. Exp (expr) … E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 17

DDD pour les programmes Pro. Me. La Un état du programme : • variables

DDD pour les programmes Pro. Me. La Un état du programme : • variables globales • chaque processus en cours d’exécution • son compteur ordinal • ses variables locales Etat initial = concaténation de toutes les variables dans un ordre figé Instruction Pro. Me. La = construction de deux homomorphismes Post: calcule les successeurs par l’application d’une instruction Pré : calcule les prédécesseurs potentiels résultants de l’exécution d’une instruction E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 18

Homomorphismes inductifs Promela-DDD • Affectation gardée 1. exp_g -> x : = 5; 2.

Homomorphismes inductifs Promela-DDD • Affectation gardée 1. exp_g -> x : = 5; 2. … Set. Cst(pc, 2) o Set. Cst(x, 5) o Sel. Exp(pc==1 exp_g) • Indéterminisme 1. if : : exp_g 1 -> (2. ) … : : exp_g 2 -> (3. ) … fi; Set. Cst(pc, 2) o Sel. Exp(pc==1 exp_g 1) + 4. … Set. Cst(pc, 3) o Sel. Exp(pc==1 exp_g 2) • Ecriture dans un canal 1. c!x 2. … E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA Set. Cst(pc, 2) o Set. Var. Fifo(c, x) o Sel. Cst(pc==1) 19

Calcul de l’ensemble des états accessibles New = Init; Reached = ; While New

Calcul de l’ensemble des états accessibles New = Init; Reached = ; While New loop tmp = New Forall process p loop Forall instruction i loop To = Postp, i(tmp); tmp = To + tmp; Endloop New = tmp reached Reached = tmp + reached Endloop Return Reached E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 20

Evaluation de formules CTL Opérateur Pré : Pb : Toutes les opérations ne sont

Evaluation de formules CTL Opérateur Pré : Pb : Toutes les opérations ne sont pas inversibles : x = 4; Approche classique (2 à 3 passes) : • élargissement à toutes les valeurs possibles, puis • restriction aux états accessibles Opérateur ad-hoc en 1 passe Evaluation de "EF p" E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 21

Comparaison avec les BDD • Opérateurs Postp, i et Prép, i implantés sur la

Comparaison avec les BDD • Opérateurs Postp, i et Prép, i implantés sur la bibliothèque Bu. DDy [Lind-Nielsen, Reif Andersen CAV 99] – Représentation des opérations arithmétiques sur des vecteurs de bits – Domaine des variables déterminé a priori (type déclaré) • Traitements pour réaliser Postp, i(E) si i décrit x = y – – Un seul jeu de variable Abstraction de x dans E : E|x Construction de G = (x y) ( x y) Contrainte de E|x par G : E|x G E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 22

Résultats sur exemples classiques (DDD plats) • Dichotomie méthode énumérative / méthode symbolique –

Résultats sur exemples classiques (DDD plats) • Dichotomie méthode énumérative / méthode symbolique – Systèmes fortement séquentiels jusqu’à 106 ou 107 états : SPIN donne de meilleurs résultats. (sliding window, Peterson, Bakery) – Systèmes fortement concurrents jusqu’à 1010 états (au delà si très réguliers) : BDD et DDD donnent de meilleurs résultats. (Philosophes, élection sur anneau) • BDD vs DDD – BDD avec réordonnancement dynamique et DDD statique sont comparables. – Lorsqu’un « bon ordre » peut être exploité, les DDD statiques présentent de meilleures performances que BDD ou DDD ordre qcq. – Limitations des DDD : ordre / gestion des expressions / longueur des chemins E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 23

Introduction de la hiérarchie dans les DDD (1) HDD : Les valuations des arcs

Introduction de la hiérarchie dans les DDD (1) HDD : Les valuations des arcs sont des DDD i 2 a a 2 1 b 1 1 b b 3 2 3 c c 5 4 4 d 2 d c 4 5 1 1 DDD E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA c 1 d d 2 5 1 1 HDD 24

Introduction de la hiérarchie dans les DDD (2) • Les HDD sont des DDD

Introduction de la hiérarchie dans les DDD (2) • Les HDD sont des DDD qui bénéficient : – Augmentation du partage, – Réduction de la longueur des chemins de la racine vers 1. • Ajustement des homomorphismes – Propagation de l’homomorphisme au nœud suivant au même niveau de la hiérarchie, au nœud racine du DDD de niveau de hiérarchie inférieur – Occasionnellement, nécessité d’aplanir localement la hiérarchie E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 25

HDD pour Programme Pro. Me. La variable scalaire variables globales canal variable produit processus

HDD pour Programme Pro. Me. La variable scalaire variables globales canal variable produit processus compteur ordinal … … variables locales Saturation Hiérarchisation de l’état E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA Lors du calcul de l’ensemble des états accessibles, réordonner le franchissement des instructions pour saturer les couches basses du HDD 26

Résultats sur exemples classiques (HDD) • Confirment la tendance observée avec les DDD plats

Résultats sur exemples classiques (HDD) • Confirment la tendance observée avec les DDD plats : – SPIN reste meilleur sur les systèmes très séquentiels (Sliding window, Peterson, Bakery) – HDD + saturation sont bien meilleurs que les BDD ou les DDD plats sur des systèmes très parallèles (jusqu’à 1000 philosophes, jusqu’à 100 électeurs sur l’anneau) E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 27

Réseau VCI-SPIN (1) Apparition d’un interblocage SPIN network VCI-SPIN wrappers E. Encrenaz-Tiphène, 04/11/05, séminaire

Réseau VCI-SPIN (1) Apparition d’un interblocage SPIN network VCI-SPIN wrappers E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA I 3 I 4 T 3 T 4 28

Réseau VCI-SPIN (2) Evitement de l’interblocage : séparer les requêtes et réponses sur les

Réseau VCI-SPIN (2) Evitement de l’interblocage : séparer les requêtes et réponses sur les liens descendants SPIN network VCI-SPIN wrappers E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA I 3 I 4 T 3 T 4 29

Vérification avec SPIN et HDD • Modèle Pro. Me. La – Pour chaque routeur

Vérification avec SPIN et HDD • Modèle Pro. Me. La – Pour chaque routeur : • 1 processus par port d’entrée (4) • 1 mécanisme d’exclusivité d’accès par port de sortie (4) – Pour chaque initiateur : • 2 processus (1 émetteur requête / 1 récepteur réponse) – Pour chaque cible : • 1 processus – Messages bufferisés en entrées de chaque port (buffers de taille 1) E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 30

Vérification avec SPIN • Propriété de vivacité «émetteur 0 pourra toujours émettre un nouveau

Vérification avec SPIN • Propriété de vivacité «émetteur 0 pourra toujours émettre un nouveau message » • Configuration à 2 routeurs, initiateurs et cibles fixés • Synchronisation des processus • Taille des messages fixée (1 à 7 paquets) Vivacité, n=6 : propriété vérifiée en 36000 s et 100 MB Accessibilité, n = 6 : construit en 512 s et 9 MB E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 31

Vérification avec HDD • Propriété de sûreté : Absence d’état puits • Configurations à

Vérification avec HDD • Propriété de sûreté : Absence d’état puits • Configurations à 2 et 4 routeurs, initiateurs et cibles variables • Taille des messages variable (de 1 à 7 paquets) Pour la configuration restreinte : Accessibilité, n=6, synchrone, 2 routeurs : 33 s, 139 MB Pour les configurations plus libres : Accessibilité, n=1 à 7, asynchrone, 4 routeurs, config libre : 7881 s et 492 MB ou : 519 s et 1, 5 GB E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 32

Conclusion • Construction d’un model-checker pour des systèmes statiques décrits en Pro. Me. La

Conclusion • Construction d’un model-checker pour des systèmes statiques décrits en Pro. Me. La • DDD : Représentation intéressante pour les systèmes présentant un fort parallélisme – Hiérarchie – Saturation • Analyse complémentaire à l’outil SPIN – Certains systèmes sont analysés très rapidement par SPIN et pas de résultats avec HDD, et réciproquement – Propriétés de vivacité / de sûreté E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 33

Perspectives • Amélioration de l’algorithmique sur les HDD Éviter les applatissements locaux • Augmenter

Perspectives • Amélioration de l’algorithmique sur les HDD Éviter les applatissements locaux • Augmenter la prise en compte de la hiérarchie Découpage dichotomique du système • Extension à des systèmes dynamiques E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 34

E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 35

E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 35

Résultats sur exemples classiques (DDD plats) [BET – Majestic 04] • Calcul d’accessibilité +

Résultats sur exemples classiques (DDD plats) [BET – Majestic 04] • Calcul d’accessibilité + une propriété " AG AF but atteint « Temps de calcul (en s) / Mémoire nécessaire (en MB) • Philosophes SPIN 15 : 2251/1067 50: -/- BDD 380+1200/96 -/- DDD 18 K+-/397 -/- DDD-O 54+5/30 8006/996 DDD 34+5/11 4533+-/663 DDD-O 37+3/11 716+-/77 • Election sur anneau SPIN 6 : 262/144 10: -/- BDD 5056+5394/144 -/- E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 36

Résultats sur exemples classiques (DDD plats) • Sliding window SPIN 2 : 0/8 3

Résultats sur exemples classiques (DDD plats) • Sliding window SPIN 2 : 0/8 3 : 29/450 4 : -/- BDD 552+221/102 65 K +63 K /332 -/- DDD 486+142/18 480 K + - /565 -/- BDD 17+39 /93 470 K + - /900 DDD 7+4/6 -/- BDD 50+0/94 1231+0/93 -/- DDD 17+0/9 379+5/46 61901+47/455 DDD-O 662+206/17 480 K + -/475 -/- • Exclusion Peterson SPIN 3 : 0/6 5 : -/- • Bakery SPIN 4 : 0/5 5 : 1385/6 6 : -/- E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 37

Résultats sur exemples classiques (HDD) Calcul d’accessibilité uniquement • Philosophes DDD 15 : 18

Résultats sur exemples classiques (HDD) Calcul d’accessibilité uniquement • Philosophes DDD 15 : 18 K+-/397 50: -/1000: -/- DDD-O 54+5/30 8006/996 -/- HDD 25/16 3308/532 -/- HDD-sat 0/2 1/9 258/1343 DDD-O 37+3/11 716+-/77 -/-/- HDD 6/4 333/61 9891/771 -/- HDD-sat 0/4 2/14 14/65 443/1866 • Election sur anneau DDD 6 : 34+5/11 10: 4533+-/663 20: -/100 : -/- • Systèmes séquentiels : Amélioration par rapport aux DDD plats mais moins bons que SPIN E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 38

DDD : Approximation • Contrainte : un seul arc d’une étiquette donnée en sortie

DDD : Approximation • Contrainte : un seul arc d’une étiquette donnée en sortie d’un nœud • Conséquence : des opérations peuvent conduire à des résultats indéterminés • Représentation de l’approximation nœud terminal T a 1 1 1 a 2 T 2 b 1 • DDD bien défini : absence de nœud terminal T • Relation « mieux-défini » : relation d’ordre sur les DDD 1 • Bonnes propriétés algébriques des opérations E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 39

DDD : Opérations (2) Exemple d’opération faisant apparaître une approximation a 1 a 2

DDD : Opérations (2) Exemple d’opération faisant apparaître une approximation a 1 a 2 1 1 c 2 c 0 a + a 3 1 E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 2 1 1 a 2 c 0 1 3 a = a T 2 1 2 c 0 1 40

DDD : Homomorphismes • Définition : d, d’ deux DDD bien définis Un homomorphisme

DDD : Homomorphismes • Définition : d, d’ deux DDD bien définis Un homomorphisme est une fonction telle que : (0) = 0 (d) + (d’) = (d + d’) • Exemples d * Id Id d Id. d 1 + 2 1 o 2 • Cas général : d, d’ deux DDD (0) = 0 (d) + (d’) (d + d’) d d’ (d) (d’) E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 41

DDD : Homomorphismes inductifs (1) • Famille d’homomorphismes i définis localement i (0) =

DDD : Homomorphismes inductifs (1) • Famille d’homomorphismes i définis localement i (0) = 0 i (T) = T i (1) = ci (une constante) i (d) = définition locale à la racine de d et à ses valuations • Exemple Set. Cst(var, val)(1) = T Set. Cst(var, val)(e, x) = E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA val e — Id si e = var x e — Set. Cst(var, val) sinon 42

DDD : Homomorphismes inductifs (2) 1 Set. Cst(b, 2) a 2 b c 0

DDD : Homomorphismes inductifs (2) 1 Set. Cst(b, 2) a 2 b c 0 1 1 0 = Set. Cst(b, 2) (a — b — 1 ) + 2 1 Set. Cst(b, 2) (a — c — 1 ) 1 1 1 0 0 Set. Cst(b, 2) (a — b — 1 ) = a — Set. Cst(b, 2)(b — 1 ) 1 2 = a — b — Id(1) 1 2 = a — b — 1 2 2 1 1 Set. Cst(b, 2) (a — c — 1 ) = a — Set. Cst(b, 2)(c — 1 ) 2 1 = a — c — Set. Cst(b, 2)(1) 2 1 = a — c — T E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 43

DDD : Homomorphismes inductifs (3) Exemple : var 1 = var 2 Set. Var(var

DDD : Homomorphismes inductifs (3) Exemple : var 1 = var 2 Set. Var(var 1, var 2)(1) = 1 Set. Var(var 1, var 2)(e, x) = Down(var 1, var 2) si e = var 1 x e — Set. Cst(var 1, x) si e = var 2 x e — Set. Var(var 1, var 2) sinon Down(var 1, var 2)(1) = T x x var 1 — e — Id si e = var 2 Down(var 1, var 2)(e, x) = Up(e, x) o Down(var 1, var 2) sinon Up Up(var, val)(1) = T x val Up(var, val)(e, x) = e — var — Id E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 44

DDD : Homomorphismes inductifs (4) Exemple d’exécution de Set. Var : b = d

DDD : Homomorphismes inductifs (4) Exemple d’exécution de Set. Var : b = d 1 2 3 4 Set. Var(b, d) (a — b — c — d — 1) 1 2 3 4 a — Set. Var(b, d) (b — c — d — 1) 3 4 1 a — Down(b, d) (c — d — 1) 1 4 a — Up(c, 3) o Down(b, d) (d — 1) 1 4 4 a — Up(c, 3) (b — d — Id(1)) 1 4 4 a — Up(c, 3) (b — d — 1) 1 3 4 4 a — b — c — d — 1 E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA 45

Homomorphismes inductifs Affectation V 1 = V 2 Set. Var(v 1, v 2) (1)

Homomorphismes inductifs Affectation V 1 = V 2 Set. Var(v 1, v 2) (1) = T (une erreur) Set. Var(v 1, v 2) (e, x) = Down(v 1, v 2) e — Set. Cst(v 1, x) e — Set. Var(v 1, v 2) si e == v 1 si e == v 2 sinon Down(v 1, v 2 ) (1) = T Down (v 1, v 2) (e, x) = v 1 — e — Id Up(e, x) o Down(v 1, v 2) Up(var, val)(1) = T Up(var, val)(e, x) = e — var — Id E. Encrenaz-Tiphène, 04/11/05, séminaire TIMA si e == v 2 sinon 46