Update Event-B models and proofs

This commit is contained in:
2019-12-19 16:19:20 +01:00
parent 0596a3cd24
commit 72e69c8c5d
15 changed files with 14441 additions and 10529 deletions

View File

@@ -52,17 +52,18 @@
<org.eventb.core.scInvariant name="cComponeo=" org.eventb.core.label="c_index_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo&gt;" org.eventb.core.label="to_clone_c_mult" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo?" org.eventb.core.label="M_fin" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo@" org.eventb.core.label="M" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoA" org.eventb.core.label="P" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoB" org.eventb.core.label="P_fin" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeoC" org.eventb.core.label="c_indexes_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoD" org.eventb.core.label="c_indexes_dom" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoE" org.eventb.core.label="c_indexes_val" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoF" org.eventb.core.label="i2p_dom" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoG" org.eventb.core.label="unfold_index_ext" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoH" org.eventb.core.label="unfold_in_index_ext" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoI" org.eventb.core.label="unfold_index" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeoJ" org.eventb.core.label="unfold_in_index" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo@" org.eventb.core.label="P" 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#_nEDgdA3EEeqU6uo9ksjEPA" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoA" org.eventb.core.label="Pnz" org.eventb.core.predicate="P≠(∅ ⦂ (Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_nEDgdQ3EEeqU6uo9ksjEPA" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoB" org.eventb.core.label="M" 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#_3N038Q6WEeqU6uo9ksjEPA" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoC" org.eventb.core.label="P_fin" 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#_rcyHQA6gEeqU6uo9ksjEPA" org.eventb.core.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeoD" org.eventb.core.label="c_indexes_ty" 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#_rcyHQQ6gEeqU6uo9ksjEPA" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoE" org.eventb.core.label="c_indexes_dom" 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#_2SMx0Q7FEeqU6uo9ksjEPA" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoF" org.eventb.core.label="c_indexes_val" 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#_2SMx0g7FEeqU6uo9ksjEPA" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoG" org.eventb.core.label="i2p_dom" 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#_2SMx0w7FEeqU6uo9ksjEPA" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoH" org.eventb.core.label="unfold_index_ext" 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#_2SMx1A7FEeqU6uo9ksjEPA" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoI" org.eventb.core.label="unfold_in_index_ext" 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#_iR6UgA7fEeqU6uo9ksjEPA" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoJ" org.eventb.core.label="unfold_index" 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#_BSFPUBEBEeqU6uo9ksjEPA" org.eventb.core.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeoK" org.eventb.core.label="unfold_in_index" 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#_vsdVYCC3Eeq7BuY4D8yZpw" org.eventb.core.theorem="true"/>
<org.eventb.core.scVariable name="M" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variable#__R1F0AyBEeqU6uo9ksjEPA" org.eventb.core.type=""/>
<org.eventb.core.scVariable name="P" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variable#_nEDgcA3EEeqU6uo9ksjEPA" org.eventb.core.type="(Component)"/>
<org.eventb.core.scVariable name="c_index" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variable#_1dqNIfqkEeectLZKwQfI0A" org.eventb.core.type="(Component×)"/>
@@ -84,14 +85,15 @@
<org.eventb.core.scParameter name="c_mult_others" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.parameter#_O1UjgfqmEeectLZKwQfI0A" org.eventb.core.type="(Component×)"/>
<org.eventb.core.scParameter name="inst_components" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.parameter#_O1UjgPqmEeectLZKwQfI0A" org.eventb.core.type="(Component×Component)"/>
<org.eventb.core.scAction name="inst_componentt" org.eventb.core.assignment="c_multiplicity ≔ c_mult" org.eventb.core.label="c_mult" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1UjhfqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componentu" org.eventb.core.assignment="to_unfold_c ≔ (components[{Pat}] dom(container)) c_multiplicity[{0}]" org.eventb.core.label="to_unfold_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1WYt_qmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componentu" org.eventb.core.assignment="to_unfold_c ≔ (components[{Pat}] dom(container)) c_mult[{0}]" org.eventb.core.label="to_unfold_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1WYt_qmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componentv" org.eventb.core.assignment="to_unfold_c_in ≔ ∅ ⦂ (Component×Component)" org.eventb.core.label="to_unfold_c_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1WYuPqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componentw" org.eventb.core.assignment="components ≔ {Inst} ⩤ components" org.eventb.core.label="components_inst" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_xPqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componentx" org.eventb.core.assignment="container ≔ components[{Inst}] ⩤ container" org.eventb.core.label="container_inst" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_xfqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componenty" org.eventb.core.assignment="c_index ≔ ∅ ⦂ (Component×)" org.eventb.core.label="c_index" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_xvqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componentz" org.eventb.core.assignment="c_indexes ≔ ∅ ⦂ (Component×(Component×))" org.eventb.core.label="c_indexes" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_x_qmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_component{" org.eventb.core.assignment="inst2pat_c ≔ ∅ ⦂ (Component×Component)" org.eventb.core.label="pat2inst_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_yPqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_component|" org.eventb.core.assignment="M ≔ max(ran(c_mult))" org.eventb.core.label="M" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1Xm1PqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componenty" org.eventb.core.assignment="containers ≔ components[{Inst}] ⩤ containers" org.eventb.core.label="containers_inst" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_xvqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componentz" org.eventb.core.assignment="c_index ≔ ∅ ⦂ (Component×)" org.eventb.core.label="c_index" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_x_qmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_component{" org.eventb.core.assignment="c_indexes ≔ ∅ ⦂ (Component×(Component×))" org.eventb.core.label="c_indexes" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_yPqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_component|" org.eventb.core.assignment="inst2pat_c ≔ ∅ ⦂ (Component×Component)" org.eventb.core.label="pat2inst_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1Xm1PqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_component}" org.eventb.core.assignment="M ≔ max(ran(c_mult))" org.eventb.core.label="M" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1Xm1fqmEeectLZKwQfI0A"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_c_iq" org.eventb.core.accurate="true" org.eventb.core.convergence="1" org.eventb.core.extended="false" org.eventb.core.label="unfold_root_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A">
<org.eventb.core.scGuard name="'" org.eventb.core.label="c_ty" 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.theorem="false"/>
@@ -100,12 +102,12 @@
<org.eventb.core.scGuard name="*" org.eventb.core.label="new_c_card" 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.theorem="true"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.parameter#_O1WYsPqmEeectLZKwQfI0A" org.eventb.core.type="Component"/>
<org.eventb.core.scParameter name="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.parameter#_O1W_wPqmEeectLZKwQfI0A" org.eventb.core.type="(×Component)"/>
<org.eventb.core.scAction name="new_d" org.eventb.core.assignment="components ≔ components({Inst} × ran(new_c))" org.eventb.core.label="new_c_model" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1Xm1fqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_e" org.eventb.core.assignment="to_unfold_c_in ≔ to_unfold_c_in((container[{c}] c_multiplicity[{0}]) × ran(new_c))" org.eventb.core.label="to_unfold_c_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1Xm1vqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_f" org.eventb.core.assignment="c_index ≔ c_indexnew_c" org.eventb.core.label="c_index" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1Xm1_qmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_g" org.eventb.core.assignment="to_unfold_c ≔ to_unfold_c {c}" org.eventb.core.label="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.action#_O1YN4PqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_h" org.eventb.core.assignment="inst2pat_c ≔ inst2pat_c(ran(new_c) × {c})" org.eventb.core.label="pat2inst_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1YN4fqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_i" org.eventb.core.assignment="c_indexes ≔ c_indexes{i⦂Component·i∈ran(new_c) i ↦ {c ↦ new_c(i)}}" org.eventb.core.label="c_indexes" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1YN4vqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_d" org.eventb.core.assignment="components ≔ components({Inst} × ran(new_c))" org.eventb.core.label="new_c_model" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1Xm1vqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_e" org.eventb.core.assignment="to_unfold_c_in ≔ to_unfold_c_in((container[{c}] c_multiplicity[{0}]) × ran(new_c))" org.eventb.core.label="to_unfold_c_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1Xm1_qmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_f" org.eventb.core.assignment="c_index ≔ c_indexnew_c" org.eventb.core.label="c_index" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1YN4PqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_g" org.eventb.core.assignment="to_unfold_c ≔ to_unfold_c {c}" org.eventb.core.label="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.action#_O1YN4fqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_h" org.eventb.core.assignment="inst2pat_c ≔ inst2pat_c(ran(new_c) × {c})" org.eventb.core.label="pat2inst_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1YN4vqmEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_i" org.eventb.core.assignment="c_indexes ≔ c_indexes{i⦂Component·i∈ran(new_c) i ↦ {c ↦ new_c(i)}}" org.eventb.core.label="c_indexes" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_lyJKIPreEeerIsS6OyYQ4w"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_c_ir" org.eventb.core.accurate="true" org.eventb.core.convergence="1" org.eventb.core.extended="false" org.eventb.core.label="unfold_node_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A">
<org.eventb.core.scGuard name="'" org.eventb.core.label="c_ty" 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.theorem="false"/>
@@ -115,23 +117,27 @@
<org.eventb.core.scParameter name="c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.parameter#_O1W_wfqmEeectLZKwQfI0A" org.eventb.core.type="Component"/>
<org.eventb.core.scParameter name="dest" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.parameter#_O1Xm0PqmEeectLZKwQfI0A" org.eventb.core.type="Component"/>
<org.eventb.core.scParameter name="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.parameter#_O1Xm0fqmEeectLZKwQfI0A" org.eventb.core.type="(×Component)"/>
<org.eventb.core.scAction name="new_d" org.eventb.core.assignment="components ≔ components({Inst} × ran(new_c))" org.eventb.core.label="new_c_model" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_lyJKIPreEeerIsS6OyYQ4w"/>
<org.eventb.core.scAction name="new_e" org.eventb.core.assignment="container ≔ container(ran(new_c) × {dest})" org.eventb.core.label="new_c_container" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_rQ0PgftxEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_f" org.eventb.core.assignment="c_index ≔ c_indexnew_c" org.eventb.core.label="c_index" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_xQWRoP01EeeINffjS36taQ"/>
<org.eventb.core.scAction name="new_g" org.eventb.core.assignment="to_unfold_c_in ≔ (to_unfold_c_in {c ↦ dest})((container[{c}] c_multiplicity[{0}]) × ran(new_c))" org.eventb.core.label="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.action#_254qkAA2EeictLZKwQfI0A"/>
<org.eventb.core.scAction name="new_h" org.eventb.core.assignment="inst2pat_c ≔ inst2pat_c(ran(new_c) × {c})" org.eventb.core.label="pat2inst_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_ptpcYAxlEeqU6uo9ksjEPA"/>
<org.eventb.core.scAction name="new_i" org.eventb.core.assignment="containers ≔ containers(ran(new_c) × {dest})(ran(new_c) × containers[{dest}])" org.eventb.core.label="cont" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_ptpcYQxlEeqU6uo9ksjEPA"/>
<org.eventb.core.scAction name="new_j" org.eventb.core.assignment="c_indexes ≔ c_indexes{i⦂Component·i∈ran(new_c) i ↦ c_indexes(dest){c ↦ new_c(i)}}" org.eventb.core.label="c_indexes" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_ptpcYgxlEeqU6uo9ksjEPA"/>
<org.eventb.core.scAction name="new_d" org.eventb.core.assignment="components ≔ components({Inst} × ran(new_c))" org.eventb.core.label="new_c_model" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_rQ0PgftxEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_e" org.eventb.core.assignment="container ≔ container(ran(new_c) × {dest})" org.eventb.core.label="new_c_container" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_xQWRoP01EeeINffjS36taQ"/>
<org.eventb.core.scAction name="new_f" org.eventb.core.assignment="c_index ≔ c_indexnew_c" org.eventb.core.label="c_index" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_254qkAA2EeictLZKwQfI0A"/>
<org.eventb.core.scAction name="new_g" org.eventb.core.assignment="to_unfold_c_in ≔ (to_unfold_c_in {c ↦ dest})((container[{c}] c_multiplicity[{0}]) × ran(new_c))" org.eventb.core.label="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.action#_ptpcYAxlEeqU6uo9ksjEPA"/>
<org.eventb.core.scAction name="new_h" org.eventb.core.assignment="inst2pat_c ≔ inst2pat_c(ran(new_c) × {c})" org.eventb.core.label="pat2inst_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_ptpcYQxlEeqU6uo9ksjEPA"/>
<org.eventb.core.scAction name="new_i" org.eventb.core.assignment="containers ≔ containers(ran(new_c) × {dest})(ran(new_c) × containers[{dest}])" org.eventb.core.label="cont" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_ptpcYgxlEeqU6uo9ksjEPA"/>
<org.eventb.core.scAction name="new_j" org.eventb.core.assignment="c_indexes ≔ c_indexes{i⦂Component·i∈ran(new_c) i ↦ c_indexes(dest){c ↦ new_c(i)}}" org.eventb.core.label="c_indexes" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#__Rz3sAyBEeqU6uo9ksjEPA"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_c_is" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="apply_pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A">
<org.eventb.core.scGuard name="'" org.eventb.core.label="ic" 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.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="nc" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="acycl_inst_components" 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.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="acycl_container" 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.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="inst_containers_dom" org.eventb.core.predicate="containers[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#_PCNOECCpEeq7BuY4D8yZpw" org.eventb.core.theorem="true"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="inst_containers" org.eventb.core.predicate="dom(inst_components) ◁ containers;inst_components⊆inst_components;containers" 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#_PCN1ICCpEeq7BuY4D8yZpw" org.eventb.core.theorem="true"/>
<org.eventb.core.scGuard name="-" org.eventb.core.label="new_cont" org.eventb.core.predicate="ran(new_components)∩ran(container)=(∅ ⦂ (Component))" 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#_vq9m8CC_Eeq7BuY4D8yZpw" org.eventb.core.theorem="true"/>
<org.eventb.core.scGuard name="." org.eventb.core.label="new_conts" org.eventb.core.predicate="ran(new_components)∩ran(containers)=(∅ ⦂ (Component))" 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#_vq9m8SC_Eeq7BuY4D8yZpw" org.eventb.core.theorem="true"/>
<org.eventb.core.scParameter name="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.parameter#_rQ0PgPtxEeectLZKwQfI0A" org.eventb.core.type="(Component×Component)"/>
<org.eventb.core.scParameter name="new_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.parameter#_h4VmkAKrEeiAPf1wPUl3Gw" org.eventb.core.type="(Component×Component)"/>
<org.eventb.core.scAction name="inst_componentt" org.eventb.core.assignment="components ≔ components({Mdl} × ran(new_components))" org.eventb.core.label="m" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#__Rz3sAyBEeqU6uo9ksjEPA"/>
<org.eventb.core.scAction name="inst_componentu" org.eventb.core.assignment="container ≔ container((inst_componentsnew_components);container;(inst_componentsnew_components))" org.eventb.core.label="f" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#_nECSUA3EEeqU6uo9ksjEPA"/>
<org.eventb.core.scAction name="inst_componentv" org.eventb.core.assignment="containers ≔ containers(new_components;containers;inst_components;containers)(new_components;containers;(new_componentsinst_components))" org.eventb.core.label="c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#_nECSUQ3EEeqU6uo9ksjEPA"/>
<org.eventb.core.scAction name="inst_componentt" org.eventb.core.assignment="components ≔ components({Mdl} × ran(new_components))" org.eventb.core.label="m" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#_nECSUA3EEeqU6uo9ksjEPA"/>
<org.eventb.core.scAction name="inst_componentu" org.eventb.core.assignment="container ≔ container(new_components;container;(inst_componentsnew_components))" org.eventb.core.label="f" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#_nECSUQ3EEeqU6uo9ksjEPA"/>
<org.eventb.core.scAction name="inst_componentv" org.eventb.core.assignment="containers ≔ containers(new_components;containers;(new_componentsinst_components);(containers(id ⦂ (Component×Component))))" org.eventb.core.label="c" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#_suvPACASEeq7BuY4D8yZpw"/>
</org.eventb.core.scEvent>
</org.eventb.core.scMachineFile>