This project is a demonstrator of pattern instanciation on system engineering model (pseim), made by the MOISE project. It contains the metamodel of the pseim, graphical and textual editors, formal verification models (event-B) and examples.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

152 lines
27 KiB

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.poFile org.eventb.core.poStamp="68">
<org.eventb.core.poPredicateSet name="CTXHYP" org.eventb.core.poStamp="7">
<org.eventb.core.poIdentifier name="Model" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.poIdentifier name="Property" org.eventb.core.type="ℙ(Property)"/>
<org.eventb.core.poIdentifier name="Inst" org.eventb.core.type="Model"/>
<org.eventb.core.poIdentifier name="Mdl" org.eventb.core.type="Model"/>
<org.eventb.core.poIdentifier name="Pat" org.eventb.core.type="Model"/>
<org.eventb.core.poIdentifier name="Pattern" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.poPredicate name="Propertz" org.eventb.core.predicate="Pattern⊆Model" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcfqkEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="Propert{" org.eventb.core.predicate="Mdl∈Model ∖ Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcvqkEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="Propert|" org.eventb.core.predicate="Pat∈Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wc_qkEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="Propert}" org.eventb.core.predicate="Inst∈Model ∖ Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_fxjdEQKnEeiAPf1wPUl3Gw"/>
<org.eventb.core.poPredicate name="Propert~" org.eventb.core.predicate="Inst≠Mdl" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_DGgrYAUMEei9ocE08JsPSw"/>
<org.eventb.core.poIdentifier name="Component" org.eventb.core.type="ℙ(Component)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mProperty.bpo|org.eventb.core.poFile#mProperty|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poStamp="68">
<org.eventb.core.poIdentifier name="M" org.eventb.core.type="ℤ"/>
<org.eventb.core.poIdentifier name="P" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.poIdentifier name="cProperties" org.eventb.core.type="ℙ(Component×Property)"/>
<org.eventb.core.poIdentifier name="c_index" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.poIdentifier name="c_indexes" org.eventb.core.type="ℙ(Component×ℙ(Component×ℤ))"/>
<org.eventb.core.poIdentifier name="c_multiplicity" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.poIdentifier name="components" org.eventb.core.type="ℙ(Model×Component)"/>
<org.eventb.core.poIdentifier name="container" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="containers" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="inst2pat_c" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="to_unfold_c" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.poIdentifier name="to_unfold_c_in" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poPredicate name="to_unfold_c_io" org.eventb.core.predicate="components∈Model ↔ Component" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0Y_qUEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_ip" org.eventb.core.predicate="∀m⦂Model·finite(components[{m}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0ZPqUEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_iq" org.eventb.core.predicate="components∼∈Component ⇸ Model" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ip9Q0PqUEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_ir" org.eventb.core.predicate="c_multiplicity∈components[{Pat}] → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_GMp30PqWEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_is" org.eventb.core.predicate="container∈ran(components) ⇸ ran(components)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8fqgEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_it" org.eventb.core.predicate="containers∈ran(components) ↔ ran(components)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8vqgEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_iu" org.eventb.core.predicate="∀c⦂Component·finite(containers∼[{c}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_oXBHAPqkEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_iv" org.eventb.core.predicate="container⊆containers" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNI_qkEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_iw" org.eventb.core.predicate="containers;containers⊆containers" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_ix" org.eventb.core.predicate="containers⊆container;(containers∪(id ⦂ ℙ(Component×Component)))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dq0MPqkEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_iy" org.eventb.core.predicate="containers∩(id ⦂ ℙ(Component×Component))=(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEQA1EeictLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_iz" org.eventb.core.predicate="components;containers;components∼⊆(id ⦂ ℙ(Model×Model))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEgA1EeictLZKwQfI0A"/>
<org.eventb.core.poPredicate name="to_unfold_c_i{" org.eventb.core.predicate="components;containers∼;components∼⊆(id ⦂ ℙ(Model×Model))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_Hwdz4AKtEeiAPf1wPUl3Gw"/>
<org.eventb.core.poPredicate name="to_unfold_c_i|" org.eventb.core.predicate="components;container;components∼⊆(id ⦂ ℙ(Model×Model))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw"/>
<org.eventb.core.poPredicate name="to_unfold_c_i}" org.eventb.core.predicate="∀c⦂Component·finite(container∼[{c}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_fxu54ALAEeiAPf1wPUl3Gw"/>
<org.eventb.core.poPredicate name="to_unfold_c_i~" org.eventb.core.predicate="container∩(id ⦂ ℙ(Component×Component))=(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoAMwEei9ocE08JsPSw"/>
<org.eventb.core.poPredicate name="to_unfold_c_j'" org.eventb.core.predicate="∀s⦂Component,c⦂Component·s ↦ c∈container⇒containers∼[{s}]⊂containers∼[{c}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_nieoAAMxEei9ocE08JsPSw"/>
<org.eventb.core.poPredicate name="to_unfold_c_j(" org.eventb.core.predicate="to_unfold_c_in∈components[{Pat}] ↔ components[{Inst}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0AMzEei9ocE08JsPSw"/>
<org.eventb.core.poPredicate name="to_unfold_c_j)" org.eventb.core.predicate="to_unfold_c⊆components[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0QMzEei9ocE08JsPSw"/>
<org.eventb.core.poPredicate name="to_unfold_c_j*" org.eventb.core.predicate="inst2pat_c∈components[{Inst}] → components[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0gMzEei9ocE08JsPSw"/>
<org.eventb.core.poPredicate name="to_unfold_c_j+" org.eventb.core.predicate="to_unfold_c_in;inst2pat_c⊆container" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_V6rHAAM1Eei9ocE08JsPSw"/>
<org.eventb.core.poPredicate name="to_unfold_c_j," org.eventb.core.predicate="to_unfold_c∩ran(inst2pat_c)=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_4gspwAkfEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j-" org.eventb.core.predicate="to_unfold_c∩dom(container)=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ClMccAk_EeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j." org.eventb.core.predicate="dom(to_unfold_c_in)⊆dom(container)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_6Bzq0AlZEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j/" org.eventb.core.predicate="∀c⦂Component·c∈to_unfold_c⇒c_multiplicity(c)&gt;0" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_-v2gwAl5EeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j0" org.eventb.core.predicate="∀c⦂Component·c∈dom(to_unfold_c_in)⇒c_multiplicity(c)&gt;0" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_Ar4dsAl8EeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j1" org.eventb.core.predicate="ran(to_unfold_c_in)⊆dom(inst2pat_c)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_byYtUAxjEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j2" org.eventb.core.predicate="(inst2pat_c;to_unfold_c_in)∩container=(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ptqDcQxlEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j3" org.eventb.core.predicate="to_unfold_c∩dom(to_unfold_c_in)=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ptqDcgxlEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j4" org.eventb.core.predicate="∀c⦂Component·finite(to_unfold_c_in[{c}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_MM724AxtEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j5" org.eventb.core.predicate="inst2pat_c;container=container;inst2pat_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_MM724QxtEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j6" org.eventb.core.predicate="c_index∈dom(inst2pat_c) → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#__R1F0QyBEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j7" org.eventb.core.predicate="∀c⦂Component·c∈dom(inst2pat_c)⇒c_index(c)∈1 ‥ c_multiplicity(inst2pat_c(c))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_nEDgcg3EEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j8" org.eventb.core.predicate="finite(ran(c_multiplicity))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_nEDgcw3EEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j9" org.eventb.core.predicate="M=max(ran(c_multiplicity))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_nEDgdA3EEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j:" org.eventb.core.predicate="P=components[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_nEDgdQ3EEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j;" org.eventb.core.predicate="finite(P)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_3N038Q6WEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j=" org.eventb.core.predicate="c_indexes∈dom(inst2pat_c) ↣ (P ⇸ 1 ‥ M)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_rcyHQA6gEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j&gt;" org.eventb.core.predicate="∀i⦂Component·i∈dom(inst2pat_c)⇒dom(c_indexes(i))=(containers∪(id ⦂ ℙ(Component×Component)))[{inst2pat_c(i)}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_rcyHQQ6gEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j?" org.eventb.core.predicate="∀i⦂Component·i∈dom(inst2pat_c)⇒c_indexes(i)=inst2pat_c∼;((containers∪(id ⦂ ℙ(Component×Component)))[{i}] ◁ c_index)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_2SMx0Q7FEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_j@" org.eventb.core.predicate="∀i⦂Component·i∈dom(inst2pat_c)⇒containers[{i}]⊆dom(inst2pat_c)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_2SMx0g7FEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_jA" org.eventb.core.predicate="∀c⦂Component,m⦂ℙ(Component×ℤ)·c∈to_unfold_c∧m∈ran(c_indexes)⇒c∉dom(m)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_2SMx0w7FEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_jB" org.eventb.core.predicate="∀c⦂Component,i⦂Component,m⦂ℙ(Component×ℤ)·c ↦ i∈to_unfold_c_in∧c_indexes(i)⊆m∧m∈ran(c_indexes)⇒c∉dom(m)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_2SMx1A7FEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_jC" org.eventb.core.predicate="∀c⦂Component,k⦂ℤ·c∈to_unfold_c∧k∈1 ‥ M⇒{c ↦ k}∉ran(c_indexes)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_iR6UgA7fEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="to_unfold_c_jD" org.eventb.core.predicate="∀c⦂Component,i⦂Component,k⦂ℤ·c ↦ i∈to_unfold_c_in∧k∈1 ‥ M⇒c_indexes(i){c ↦ k}∉ran(c_indexes)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_BSFPUBEBEeqU6uo9ksjEPA"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_c_io" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mProperty.bpo|org.eventb.core.poFile#mProperty|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="68">
<org.eventb.core.poIdentifier name="to_unfold_c'" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.poIdentifier name="inst_components" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="container'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="c_index'" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.poIdentifier name="c_multiplicity'" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.poIdentifier name="M'" org.eventb.core.type="ℤ"/>
<org.eventb.core.poIdentifier name="components'" org.eventb.core.type="ℙ(Model×Component)"/>
<org.eventb.core.poIdentifier name="to_unfold_c_in'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="c_mult_others" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.poIdentifier name="inst2pat_c'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="c_mult" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.poIdentifier name="c_indexes'" org.eventb.core.type="ℙ(Component×ℙ(Component×ℤ))"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPto_unfold_c_io" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mProperty.bpo|org.eventb.core.poFile#mProperty|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_c_io" org.eventb.core.poStamp="68">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="inst_components∈components[{Pat}] ↔ components[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.guard#_O1UjgvqmEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="inst_components∼∈components[{Mdl}] ⇸ components[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.guard#_O1Ujg_qmEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="c_mult_others∈components[{Pat}] ∖ dom(inst_components) → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.guard#_O1UjhPqmEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="c_mult=c_mult_others{pc⦂Component·pc∈dom(inst_components) ∣ pc ↦ card(inst_components[{pc}])}" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.guard#_O1WYsfqmEeectLZKwQfI0A"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_c_ip" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mProperty.bpo|org.eventb.core.poFile#mProperty|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="68">
<org.eventb.core.poIdentifier name="to_unfold_c'" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.poIdentifier name="cProperties'" org.eventb.core.type="ℙ(Component×Property)"/>
<org.eventb.core.poIdentifier name="c_index'" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.poIdentifier name="c" org.eventb.core.type="Component"/>
<org.eventb.core.poIdentifier name="components'" org.eventb.core.type="ℙ(Model×Component)"/>
<org.eventb.core.poIdentifier name="new_c" org.eventb.core.type="ℙ(ℤ×Component)"/>
<org.eventb.core.poIdentifier name="to_unfold_c_in'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="inst2pat_c'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="c_indexes'" org.eventb.core.type="ℙ(Component×ℙ(Component×ℤ))"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPto_unfold_c_ip" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mProperty.bpo|org.eventb.core.poFile#mProperty|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_c_ip" org.eventb.core.poStamp="68">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="c∈to_unfold_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYsvqmEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="new_c∈1 ‥ c_multiplicity(c) ↣ Component ∖ ran(components)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYs_qmEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="finite(ran(new_c))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYtPqmEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="card(ran(new_c))=c_multiplicity(c)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYtfqmEeectLZKwQfI0A"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_c_iq" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mProperty.bpo|org.eventb.core.poFile#mProperty|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="68">
<org.eventb.core.poIdentifier name="containers'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="container'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="cProperties'" org.eventb.core.type="ℙ(Component×Property)"/>
<org.eventb.core.poIdentifier name="c_index'" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.poIdentifier name="c" org.eventb.core.type="Component"/>
<org.eventb.core.poIdentifier name="components'" org.eventb.core.type="ℙ(Model×Component)"/>
<org.eventb.core.poIdentifier name="dest" org.eventb.core.type="Component"/>
<org.eventb.core.poIdentifier name="new_c" org.eventb.core.type="ℙ(ℤ×Component)"/>
<org.eventb.core.poIdentifier name="to_unfold_c_in'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="inst2pat_c'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="c_indexes'" org.eventb.core.type="ℙ(Component×ℙ(Component×ℤ))"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPto_unfold_c_iq" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mProperty.bpo|org.eventb.core.poFile#mProperty|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_c_iq" org.eventb.core.poStamp="68">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="c ↦ dest∈to_unfold_c_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYtvqmEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="new_c∈1 ‥ c_multiplicity(c) ↣ Component ∖ ran(components)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.guard#_O1W_wvqmEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="finite(ran(new_c))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.guard#_O1W_w_qmEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="card(ran(new_c))=c_multiplicity(c)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.guard#_O1Xm0vqmEeectLZKwQfI0A"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_c_ir" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mProperty.bpo|org.eventb.core.poFile#mProperty|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="68">
<org.eventb.core.poIdentifier name="containers'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="inst_components" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="container'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="cProperties'" org.eventb.core.type="ℙ(Component×Property)"/>
<org.eventb.core.poIdentifier name="components'" org.eventb.core.type="ℙ(Model×Component)"/>
<org.eventb.core.poIdentifier name="new_components" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="inst_props" org.eventb.core.type="ℙ(Property×Property)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPto_unfold_c_ir" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mProperty.bpo|org.eventb.core.poFile#mProperty|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_c_ir" org.eventb.core.poStamp="68">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="inst_components∈components[{Inst}] ⤔ components[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.guard#_AkqiQAhGEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="new_components∈components[{Inst}] ∖ dom(inst_components) ↣ Component ∖ ran(components)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.guard#_AkqiQQhGEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="dom(inst_components) ◁ container;inst_components⊆inst_components;container" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.guard#_AkqiQghGEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="container[dom(inst_components)]⊆dom(inst_components)" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.guard#_AkqiQwhGEeqU6uo9ksjEPA"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="inst_props∈Property ⇸ Property" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw0_qwEeectLZKwQfI0A"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mProperty.bpo|org.eventb.core.poFile#mProperty|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="68">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="cProperties∈Component ↔ Property" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
</org.eventb.core.poPredicateSet>
</org.eventb.core.poFile>