L1: new_components;f0 = {}
L2: f0;new_components~ = {}

∀  m   ·
	∃ f · 
	  f∈components(m) ↔ components(m)  ∧
	  container(m)⊆f ∧ f;f⊆f ∧
	  id∩f=∅
instancier pour Mdl et Inst

Montrer les deux lemmes (L1, L2)

Faire deux cas en fonction des valeurs de Mdl (dc m = Mdl)

Magic (SMT)

instancier exist avec acycl 
acycl: (new_components∼;f;inst_components;f0) ∪ (new_components∼;f;(new_components ∪ inst_components)) ∪ f0

faire apparaitre les cas (Magic SMT)

distribuer les unions à gauche de l'inclusion

faire les rewrite L1 L2

Auto ????? Magic ... 

====================

pour unfold_node acyclic
 ((ran(new_c) × {dest});f) ∪ (ran(new_c) × {dest})   ∪ f

============================================
apply_pattern_link_oo:

ajouter XXX;(inst_comp \/ new_com); (inst_comp\/new_comp)~= XXX
