Browse Source

Update Event-B models and proofs

master
Arnaud Dieumegard 5 years ago
parent
commit
0596a3cd24
  1. 2
      Event-B/pseim/.project
  2. 26
      Event-B/pseim/cComponent.bcc
  3. 18
      Event-B/pseim/cComponent.bpo
  4. 2
      Event-B/pseim/cComponent.bps
  5. 2
      Event-B/pseim/cComponent.buc
  6. 56
      Event-B/pseim/cLink.bcc
  7. 22
      Event-B/pseim/cLink.bpo
  8. 22
      Event-B/pseim/cModel.bcc
  9. 18
      Event-B/pseim/cModel.bpo
  10. 2
      Event-B/pseim/cModel.bps
  11. 2
      Event-B/pseim/cModel.buc
  12. 36
      Event-B/pseim/cPort.bcc
  13. 18
      Event-B/pseim/cPort.bpo
  14. 222
      Event-B/pseim/mComponent.bcm
  15. 1960
      Event-B/pseim/mComponent.bpo
  16. 58221
      Event-B/pseim/mComponent.bpr
  17. 155
      Event-B/pseim/mComponent.bps
  18. 142
      Event-B/pseim/mComponent.bum
  19. 32663
      Event-B/pseim/mComponent0.bpr
  20. 336
      Event-B/pseim/mLink.bcm
  21. 1401
      Event-B/pseim/mLink.bpo
  22. 26515
      Event-B/pseim/mLink.bpr
  23. 127
      Event-B/pseim/mLink.bps
  24. 80
      Event-B/pseim/mLink.bum
  25. 241
      Event-B/pseim/mPort.bcm
  26. 751
      Event-B/pseim/mPort.bpo
  27. 8560
      Event-B/pseim/mPort.bpr
  28. 62
      Event-B/pseim/mPort.bps
  29. 82
      Event-B/pseim/mPort.bum
  30. 148
      Event-B/pseim/mProperty.bcm
  31. 151
      Event-B/pseim/mProperty.bpo
  32. 2
      Event-B/pseim/mProperty.bps
  33. 22
      Event-B/pseim/mProperty.bum
  34. 83
      Event-B/pseim/pattern_safety.bcc
  35. 117
      Event-B/pseim/pattern_safety.bpo
  36. 677
      Event-B/pseim/pattern_safety.bpr
  37. 9
      Event-B/pseim/pattern_safety.bps
  38. 31
      Event-B/pseim/preuves.txt
  39. 52
      Event-B/pseim/test.bpr

2
Event-B/pseim/.project

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<projectDescription> <projectDescription>
<name>pseim</name> <name>MODELS_INC_V9_VAR</name>
<comment></comment> <comment></comment>
<projects> <projects>
</projects> </projects>

26
Event-B/pseim/cComponent.bcc

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.scContextFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase"> <org.eventb.core.scContextFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/pseim/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/pseim/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/> <org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/>
<org.eventb.core.scInternalContext name="cModel"> <org.eventb.core.scInternalContext name="cModel">
<org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" org.eventb.core.predicate="Pattern⊆Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcfqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" org.eventb.core.predicate="Mdl∈Model ∖ Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcvqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" org.eventb.core.predicate="Pat∈Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wc_qkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" org.eventb.core.predicate="Inst∈Model ∖ Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_fxjdEQKnEeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" org.eventb.core.predicate="Inst≠Mdl" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_DGgrYAUMEei9ocE08JsPSw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" 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.theorem="false"/>
<org.eventb.core.scConstant name="Inst" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Inst" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/>
<org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scConstant name="Pat" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Pat" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/> <org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/>
</org.eventb.core.scInternalContext> </org.eventb.core.scInternalContext>
<org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/pseim/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/> <org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
</org.eventb.core.scContextFile> </org.eventb.core.scContextFile>

18
Event-B/pseim/cComponent.bpo

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.poFile org.eventb.core.poStamp="4">
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.poStamp="4">
<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="ALLHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/cComponent.bpo|org.eventb.core.poFile#cComponent|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="4"/>
</org.eventb.core.poFile>

2
Event-B/pseim/cComponent.bps

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<org.eventb.core.psFile/>

2
Event-B/pseim/cComponent.buc

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.contextFile org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase" org.eventb.texttools.text_lastmodified="1522154685480" org.eventb.texttools.text_representation="context cComponent extends cModel&#10;&#10;sets Component&#10;end&#10;" version="3"> <org.eventb.core.contextFile org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase" org.eventb.texttools.text_lastmodified="1574795349084" org.eventb.texttools.text_representation="context cComponent extends cModel&#10;&#10;sets Component&#10;end&#10;" version="3">
<org.eventb.core.extendsContext name="_IT7_UPqUEeectLZKwQfI0A" org.eventb.core.target="cModel"/> <org.eventb.core.extendsContext name="_IT7_UPqUEeectLZKwQfI0A" org.eventb.core.target="cModel"/>
<org.eventb.core.carrierSet name="_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.identifier="Component"/> <org.eventb.core.carrierSet name="_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.identifier="Component"/>
</org.eventb.core.contextFile> </org.eventb.core.contextFile>

56
Event-B/pseim/cLink.bcc

@ -1,37 +1,37 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.scContextFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase;org.eventb.codegen.ui.cgConfig"> <org.eventb.core.scContextFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase;org.eventb.codegen.ui.cgConfig">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/pseim/cPort.bcc|org.eventb.core.scContextFile#cPort" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.extendsContext#'"/> <org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cPort.bcc|org.eventb.core.scContextFile#cPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.extendsContext#'"/>
<org.eventb.core.scInternalContext name="cModel"> <org.eventb.core.scInternalContext name="cModel">
<org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" org.eventb.core.predicate="Pattern⊆Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcfqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" org.eventb.core.predicate="Mdl∈Model ∖ Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcvqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" org.eventb.core.predicate="Pat∈Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wc_qkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" org.eventb.core.predicate="Inst∈Model ∖ Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_fxjdEQKnEeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" org.eventb.core.predicate="Inst≠Mdl" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_DGgrYAUMEei9ocE08JsPSw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" 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.theorem="false"/>
<org.eventb.core.scConstant name="Inst" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Inst" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/>
<org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scConstant name="Pat" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Pat" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/> <org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/>
</org.eventb.core.scInternalContext> </org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cComponent"> <org.eventb.core.scInternalContext name="cComponent">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/pseim/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/pseim/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/> <org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/>
<org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/pseim/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/> <org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
</org.eventb.core.scInternalContext> </org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cPort"> <org.eventb.core.scInternalContext name="cPort">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/pseim/cComponent.bcc|org.eventb.core.scContextFile#cComponent" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.extendsContext#'"/> <org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cComponent.bcc|org.eventb.core.scContextFile#cComponent" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.extendsContext#'"/>
<org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="part" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="part" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scConstant name="IPort" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocPqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.scConstant name="IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocPqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.scConstant name="OPort" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocfqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.scConstant name="OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocfqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.scCarrierSet name="Port" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.carrierSet#_YwaNQPqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.scCarrierSet name="Port" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.carrierSet#_YwaNQPqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
</org.eventb.core.scInternalContext> </org.eventb.core.scInternalContext>
<org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="link_k" org.eventb.core.predicate="partition(Link,Transpose,Identity,Shift,First,Rotate)" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsfgzEeeeS5KQUtrGlw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="link_k" org.eventb.core.predicate="partition(Link,Transpose,Identity,Shift,First,Rotate)" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsfgzEeeeS5KQUtrGlw" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponenv" org.eventb.core.label="LKind" org.eventb.core.predicate="LKind={Transpose,Identity,Shift,First,Rotate}" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsvgzEeeeS5KQUtrGlw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="cComponenv" org.eventb.core.label="LKind" org.eventb.core.predicate="LKind={Transpose,Identity,Shift,First,Rotate}" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsvgzEeeeS5KQUtrGlw" org.eventb.core.theorem="false"/>
<org.eventb.core.scConstant name="First" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhM_g8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/> <org.eventb.core.scConstant name="First" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhM_g8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Identity" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMfg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/> <org.eventb.core.scConstant name="Identity" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMfg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="LKind" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_u1ZfsPgzEeeeS5KQUtrGlw" org.eventb.core.type="ℙ(ℙ(Link))"/> <org.eventb.core.scConstant name="LKind" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_u1ZfsPgzEeeeS5KQUtrGlw" org.eventb.core.type="ℙ(ℙ(Link))"/>
<org.eventb.core.scCarrierSet name="Link" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.carrierSet#_IabHcPoIEeeOzddrJxUeNA" org.eventb.core.type="ℙ(Link)"/> <org.eventb.core.scCarrierSet name="Link" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.carrierSet#_IabHcPoIEeeOzddrJxUeNA" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Rotate" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhNPg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/> <org.eventb.core.scConstant name="Rotate" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhNPg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Shift" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMvg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/> <org.eventb.core.scConstant name="Shift" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMvg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Transpose" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMPg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/> <org.eventb.core.scConstant name="Transpose" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMPg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
</org.eventb.core.scContextFile> </org.eventb.core.scContextFile>

22
Event-B/pseim/cLink.bpo

@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.poFile org.eventb.core.poStamp="0"> <org.eventb.core.poFile org.eventb.core.poStamp="2">
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.poStamp="0"> <org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.poStamp="2">
<org.eventb.core.poIdentifier name="Model" org.eventb.core.type="ℙ(Model)"/> <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="Property" org.eventb.core.type="ℙ(Property)"/>
<org.eventb.core.poIdentifier name="Inst" org.eventb.core.type="Model"/> <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="Mdl" org.eventb.core.type="Model"/>
<org.eventb.core.poIdentifier name="Pat" 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.poIdentifier name="Pattern" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.poPredicate name="Propertz" org.eventb.core.predicate="Pattern⊆Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcfqkEeectLZKwQfI0A"/> <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="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcvqkEeectLZKwQfI0A"/> <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="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wc_qkEeectLZKwQfI0A"/> <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="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_fxjdEQKnEeiAPf1wPUl3Gw"/> <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="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_DGgrYAUMEei9ocE08JsPSw"/> <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.poIdentifier name="Component" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.poIdentifier name="Port" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.poIdentifier name="Port" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.poIdentifier name="IPort" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.poIdentifier name="IPort" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.poIdentifier name="OPort" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.poIdentifier name="OPort" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.poPredicate name="Componenu" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A"/> <org.eventb.core.poPredicate name="Componenu" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A"/>
<org.eventb.core.poIdentifier name="Link" org.eventb.core.type="ℙ(Link)"/> <org.eventb.core.poIdentifier name="Link" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.poIdentifier name="First" org.eventb.core.type="ℙ(Link)"/> <org.eventb.core.poIdentifier name="First" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.poIdentifier name="Identity" org.eventb.core.type="ℙ(Link)"/> <org.eventb.core.poIdentifier name="Identity" org.eventb.core.type="ℙ(Link)"/>
@ -25,8 +25,8 @@
<org.eventb.core.poIdentifier name="Shift" org.eventb.core.type="ℙ(Link)"/> <org.eventb.core.poIdentifier name="Shift" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.poIdentifier name="Transpose" org.eventb.core.type="ℙ(Link)"/> <org.eventb.core.poIdentifier name="Transpose" org.eventb.core.type="ℙ(Link)"/>
</org.eventb.core.poPredicateSet> </org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/pseim/cLink.bpo|org.eventb.core.poFile#cLink|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="0"> <org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/cLink.bpo|org.eventb.core.poFile#cLink|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="2">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="partition(Link,Transpose,Identity,Shift,First,Rotate)" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsfgzEeeeS5KQUtrGlw"/> <org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="partition(Link,Transpose,Identity,Shift,First,Rotate)" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsfgzEeeeS5KQUtrGlw"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="LKind={Transpose,Identity,Shift,First,Rotate}" org.eventb.core.source="/pseim/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsvgzEeeeS5KQUtrGlw"/> <org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="LKind={Transpose,Identity,Shift,First,Rotate}" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsvgzEeeeS5KQUtrGlw"/>
</org.eventb.core.poPredicateSet> </org.eventb.core.poPredicateSet>
</org.eventb.core.poFile> </org.eventb.core.poFile>

22
Event-B/pseim/cModel.bcc

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.scContextFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase"> <org.eventb.core.scContextFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase">
<org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" org.eventb.core.predicate="Pattern⊆Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcfqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" org.eventb.core.predicate="Mdl∈Model ∖ Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcvqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" org.eventb.core.predicate="Pat∈Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wc_qkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" org.eventb.core.predicate="Inst∈Model ∖ Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_fxjdEQKnEeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" org.eventb.core.predicate="Inst≠Mdl" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_DGgrYAUMEei9ocE08JsPSw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" 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.theorem="false"/>
<org.eventb.core.scConstant name="Inst" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Inst" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/>
<org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scConstant name="Pat" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Pat" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/> <org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/>
</org.eventb.core.scContextFile> </org.eventb.core.scContextFile>

18
Event-B/pseim/cModel.bpo

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.poFile org.eventb.core.poStamp="4">
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.poStamp="1">
<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.poPredicateSet>
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/cModel.bpo|org.eventb.core.poFile#cModel|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="4">
<org.eventb.core.poPredicate name="PRD0" 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="PRD1" 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="PRD2" 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="PRD3" 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="PRD4" 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.poPredicateSet>
</org.eventb.core.poFile>

2
Event-B/pseim/cModel.bps

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<org.eventb.core.psFile/>

2
Event-B/pseim/cModel.buc

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.contextFile org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase" org.eventb.texttools.text_lastmodified="1517240994066" org.eventb.texttools.text_representation="context cModel&#10;&#10;sets Model Property&#10;&#10;constants Mdl Pattern Pat Inst&#10;&#10;axioms&#10; @Pattern_ty Pattern ⊆ Model&#10; @Mdl_ty Mdl ∈ Model ∖ Pattern&#10; @Pat_ty Pat ∈ Pattern&#10; @Inst_ty Inst ∈ Model ∖ Pattern&#10; @Inst_Mdl Inst ≠ Mdl&#10;end&#10;" version="3"> <org.eventb.core.contextFile org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase" org.eventb.texttools.text_lastmodified="1522407306730" org.eventb.texttools.text_representation="context cModel&#10;&#10;sets Model Property&#10;&#10;constants Mdl Pattern Pat Inst&#10;&#10;axioms&#10; @Pattern_ty Pattern ⊆ Model&#10; @Mdl_ty Mdl ∈ Model ∖ Pattern&#10; @Pat_ty Pat ∈ Pattern&#10; @Inst_ty Inst ∈ Model ∖ Pattern&#10; @Inst_Mdl Inst ≠ Mdl&#10;end&#10;" version="3">
<org.eventb.core.carrierSet name="_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.identifier="Model"/> <org.eventb.core.carrierSet name="_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.identifier="Model"/>
<org.eventb.core.constant name="_h20JYPqkEeectLZKwQfI0A" org.eventb.core.identifier="Mdl"/> <org.eventb.core.constant name="_h20JYPqkEeectLZKwQfI0A" org.eventb.core.identifier="Mdl"/>
<org.eventb.core.constant name="_h20wcPqkEeectLZKwQfI0A" org.eventb.core.identifier="Pattern"/> <org.eventb.core.constant name="_h20wcPqkEeectLZKwQfI0A" org.eventb.core.identifier="Pattern"/>

36
Event-B/pseim/cPort.bcc

@ -1,25 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.scContextFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase"> <org.eventb.core.scContextFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/pseim/cComponent.bcc|org.eventb.core.scContextFile#cComponent" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.extendsContext#'"/> <org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cComponent.bcc|org.eventb.core.scContextFile#cComponent" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.extendsContext#'"/>
<org.eventb.core.scInternalContext name="cModel"> <org.eventb.core.scInternalContext name="cModel">
<org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" org.eventb.core.predicate="Pattern⊆Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcfqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" org.eventb.core.predicate="Mdl∈Model ∖ Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcvqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" org.eventb.core.predicate="Pat∈Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wc_qkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" org.eventb.core.predicate="Inst∈Model ∖ Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_fxjdEQKnEeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" org.eventb.core.predicate="Inst≠Mdl" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_DGgrYAUMEei9ocE08JsPSw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" 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.theorem="false"/>
<org.eventb.core.scConstant name="Inst" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Inst" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/>
<org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scConstant name="Pat" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Pat" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/> <org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/>
</org.eventb.core.scInternalContext> </org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cComponent"> <org.eventb.core.scInternalContext name="cComponent">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/pseim/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/pseim/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/> <org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/>
<org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/pseim/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/> <org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
</org.eventb.core.scInternalContext> </org.eventb.core.scInternalContext>
<org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="part" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="part" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scConstant name="IPort" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocPqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.scConstant name="IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocPqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.scConstant name="OPort" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocfqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.scConstant name="OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocfqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.scCarrierSet name="Port" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.carrierSet#_YwaNQPqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.scCarrierSet name="Port" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.carrierSet#_YwaNQPqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
</org.eventb.core.scContextFile> </org.eventb.core.scContextFile>

18
Event-B/pseim/cPort.bpo

@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.poFile org.eventb.core.poStamp="0"> <org.eventb.core.poFile org.eventb.core.poStamp="2">
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.poStamp="0"> <org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.poStamp="2">
<org.eventb.core.poIdentifier name="Model" org.eventb.core.type="ℙ(Model)"/> <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="Property" org.eventb.core.type="ℙ(Property)"/>
<org.eventb.core.poIdentifier name="Inst" org.eventb.core.type="Model"/> <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="Mdl" org.eventb.core.type="Model"/>
<org.eventb.core.poIdentifier name="Pat" 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.poIdentifier name="Pattern" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.poPredicate name="Propertz" org.eventb.core.predicate="Pattern⊆Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcfqkEeectLZKwQfI0A"/> <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="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcvqkEeectLZKwQfI0A"/> <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="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wc_qkEeectLZKwQfI0A"/> <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="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_fxjdEQKnEeiAPf1wPUl3Gw"/> <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="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_DGgrYAUMEei9ocE08JsPSw"/> <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.poIdentifier name="Component" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.poIdentifier name="Port" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.poIdentifier name="Port" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.poIdentifier name="IPort" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.poIdentifier name="IPort" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.poIdentifier name="OPort" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.poIdentifier name="OPort" org.eventb.core.type="ℙ(Port)"/>
</org.eventb.core.poPredicateSet> </org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/pseim/cPort.bpo|org.eventb.core.poFile#cPort|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="0"> <org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/cPort.bpo|org.eventb.core.poFile#cPort|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="2">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/pseim/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A"/> <org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A"/>
</org.eventb.core.poPredicateSet> </org.eventb.core.poPredicateSet>
</org.eventb.core.poFile> </org.eventb.core.poFile>

222
Event-B/pseim/mComponent.bcm

@ -1,107 +1,137 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.scMachineFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.units.mchBase;org.eventb.codegen.ui.cgConfig"> <org.eventb.core.scMachineFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.units.mchBase;org.eventb.codegen.ui.cgConfig">
<org.eventb.core.scSeesContext name="'" org.eventb.core.scTarget="/pseim/cComponent.bcc" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.seesContext#_cQf0YPqUEeectLZKwQfI0A"/> <org.eventb.core.scSeesContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cComponent.bcc" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.seesContext#_cQf0YPqUEeectLZKwQfI0A"/>
<org.eventb.core.scInternalContext name="cModel"> <org.eventb.core.scInternalContext name="cModel">
<org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" org.eventb.core.predicate="Pattern⊆Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcfqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" org.eventb.core.predicate="Mdl∈Model ∖ Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wcvqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" org.eventb.core.predicate="Pat∈Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_h20wc_qkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" org.eventb.core.predicate="Inst∈Model ∖ Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_fxjdEQKnEeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" org.eventb.core.predicate="Inst≠Mdl" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.axiom#_DGgrYAUMEei9ocE08JsPSw" org.eventb.core.theorem="false"/> <org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" 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.theorem="false"/>
<org.eventb.core.scConstant name="Inst" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Inst" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/>
<org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scConstant name="Pat" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/> <org.eventb.core.scConstant name="Pat" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/pseim/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/> <org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/>
</org.eventb.core.scInternalContext> </org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cComponent"> <org.eventb.core.scInternalContext name="cComponent">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/pseim/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/pseim/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/> <org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/>
<org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/pseim/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/> <org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
</org.eventb.core.scInternalContext> </org.eventb.core.scInternalContext>
<org.eventb.core.scInvariant name="cComponenu" org.eventb.core.label="comp" org.eventb.core.predicate="components∈Model ↔ Component" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0Y_qUEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponenu" org.eventb.core.label="comp" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenv" org.eventb.core.label="comp_finite" org.eventb.core.predicate="∀m⦂Model·finite(components[{m}])" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0ZPqUEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponenv" org.eventb.core.label="comp_finite" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenw" org.eventb.core.label="comp_not_shared" org.eventb.core.predicate="components∼∈Component ⇸ Model" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ip9Q0PqUEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponenw" org.eventb.core.label="comp_not_shared" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenx" org.eventb.core.label="c_mult" org.eventb.core.predicate="c_multiplicity∈components[Pattern] → ℕ" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_GMp30PqWEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponenx" org.eventb.core.label="c_mult" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeny" org.eventb.core.label="cont_ty" org.eventb.core.predicate="container∈ran(components) ⇸ ran(components)" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8fqgEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponeny" org.eventb.core.label="cont_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenz" org.eventb.core.label="cont_ctr" org.eventb.core.predicate="components;container;components∼⊆(id ⦂ ℙ(Model×Model))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8vqgEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponenz" org.eventb.core.label="cl_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen{" org.eventb.core.label="acycl" org.eventb.core.predicate="∃f⦂ℙ(Component×Component)·f∈Component ↔ Component∧container⊆f∧f;f⊆f∧(id ⦂ ℙ(Component×Component))∩f=(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_oXBHAPqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponen{" org.eventb.core.label="cl_fin" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen|" org.eventb.core.label="irrefl" org.eventb.core.predicate="container∩(id ⦂ ℙ(Component×Component))=(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNI_qkEeectLZKwQfI0A" org.eventb.core.theorem="true"/> <org.eventb.core.scInvariant name="cComponen|" org.eventb.core.label="cl_cont" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen}" org.eventb.core.label="to_unfold_c_in" org.eventb.core.predicate="to_unfold_c_in∈components[{Pat}] ↔ components[{Inst}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponen}" org.eventb.core.label="cl_trans" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen~" org.eventb.core.label="to_clone_c" org.eventb.core.predicate="to_clone_c∈components[{Inst}] ⇸ components[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dq0MPqkEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponen~" org.eventb.core.label="cl_left" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo'" org.eventb.core.label="to_unfold_c" org.eventb.core.predicate="to_unfold_c⊆components[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEQA1EeictLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponeo'" org.eventb.core.label="cl_irrefl" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo(" org.eventb.core.label="inst2pat_c_ty" org.eventb.core.predicate="inst2pat_c∈components[{Inst}] → components[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEgA1EeictLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponeo(" org.eventb.core.label="cl_comp" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo)" org.eventb.core.label="inst2pat_clone" org.eventb.core.predicate="to_clone_c⊆inst2pat_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_Hwdz4AKtEeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponeo)" org.eventb.core.label="cl_compr" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo*" org.eventb.core.label="inst2pat_unfold_in" org.eventb.core.predicate="to_unfold_c_in;inst2pat_c⊆container" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponeo*" org.eventb.core.label="cont_ctr" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo+" org.eventb.core.label="pat2inst_unfold" org.eventb.core.predicate="to_unfold_c∩ran(inst2pat_c)=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_fxu54ALAEeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponeo+" org.eventb.core.label="cont_fin" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo," org.eventb.core.label="unfold_root" org.eventb.core.predicate="to_unfold_c∩dom(container)=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoAMwEei9ocE08JsPSw" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponeo," org.eventb.core.label="irrefl" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo-" org.eventb.core.label="unfold_in" org.eventb.core.predicate="dom(to_unfold_c_in)⊆dom(container)" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoQMwEei9ocE08JsPSw" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponeo-" org.eventb.core.label="cont_mono" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo." org.eventb.core.label="unfold_unfold_in" org.eventb.core.predicate="to_unfold_c∩dom(to_unfold_c_in)=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_nieoAAMxEei9ocE08JsPSw" org.eventb.core.theorem="true"/> <org.eventb.core.scInvariant name="cComponeo." org.eventb.core.label="to_unfold_c_in" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo/" org.eventb.core.label="unfold_clone" org.eventb.core.predicate="to_unfold_c∩ran(to_clone_c)=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0AMzEei9ocE08JsPSw" org.eventb.core.theorem="true"/> <org.eventb.core.scInvariant name="cComponeo/" org.eventb.core.label="to_unfold_c" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo0" org.eventb.core.label="inst2pat_cont" org.eventb.core.predicate="inst2pat_c;container=container;inst2pat_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0QMzEei9ocE08JsPSw" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponeo0" org.eventb.core.label="inst2pat_c_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo1" org.eventb.core.label="c_index_ty" org.eventb.core.predicate="c_index∈dom(inst2pat_c) → ℕ" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0gMzEei9ocE08JsPSw" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponeo1" org.eventb.core.label="inst2pat_unfold_in" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo2" 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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_V6rHAAM1Eei9ocE08JsPSw" org.eventb.core.theorem="false"/> <org.eventb.core.scInvariant name="cComponeo2" org.eventb.core.label="pat2inst_unfold" 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.theorem="false"/>
<org.eventb.core.scVariable name="c_index" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variable#_1dqNIfqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/> <org.eventb.core.scInvariant name="cComponeo3" org.eventb.core.label="unfold_root" 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.theorem="false"/>
<org.eventb.core.scVariable name="c_multiplicity" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variable#_gmDo8PqgEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/> <org.eventb.core.scInvariant name="cComponeo4" org.eventb.core.label="unfold_in" 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.theorem="false"/>
<org.eventb.core.scVariable name="components" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variable#_cQf0YfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model×Component)"/> <org.eventb.core.scInvariant name="cComponeo5" org.eventb.core.label="unfold_mul" 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.theorem="false"/>
<org.eventb.core.scVariable name="container" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variable#_cQf0YvqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/> <org.eventb.core.scInvariant name="cComponeo6" org.eventb.core.label="unfold_in_mul" 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.theorem="false"/>
<org.eventb.core.scVariable name="inst2pat_c" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variable#_xudpYAK5EeiAPf1wPUl3Gw" org.eventb.core.type="ℙ(Component×Component)"/> <org.eventb.core.scInvariant name="cComponeo7" org.eventb.core.label="unfold_in_i2p" 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.theorem="false"/>
<org.eventb.core.scVariable name="to_clone_c" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variable#_1dqNIPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/> <org.eventb.core.scInvariant name="cComponeo8" org.eventb.core.label="unfold_cont" 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.theorem="false"/>
<org.eventb.core.scVariable name="to_unfold_c" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variable#_1dqNIvqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/> <org.eventb.core.scInvariant name="cComponeo9" org.eventb.core.label="unfold_unfold_in" 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.theorem="true"/>
<org.eventb.core.scVariable name="to_unfold_c_in" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variable#_9phD8AKqEeiAPf1wPUl3Gw" org.eventb.core.type="ℙ(Component×Component)"/> <org.eventb.core.scInvariant name="cComponeo:" org.eventb.core.label="unfold_fin" 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.theorem="true"/>
<org.eventb.core.scVariant name="to_unfold_c_io" org.eventb.core.expression="⋃c⦂Component·c∈to_unfold_c∪ran(to_clone_c) ∣ {c} × inter({sc⦂ℙ(Component)·c∈sc∧container∼[sc]⊆sc ∣ sc})" org.eventb.core.label="VARIANT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_yRrOsAK6EeiAPf1wPUl3Gw"/> <org.eventb.core.scInvariant name="cComponeo;" org.eventb.core.label="inst2pat_cont" 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.theorem="false"/>
<org.eventb.core.scEvent name="to_unfold_c_ip" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="instanciate_pattern" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"> <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.scGuard name="'" org.eventb.core.label="ic" org.eventb.core.predicate="inst_components∈components[{Pat}] ↔ components[{Mdl}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.guard#_O1UjgvqmEeectLZKwQfI0A" 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.scGuard name="(" org.eventb.core.label="icr" org.eventb.core.predicate="inst_components∼∈components[{Mdl}] ⇸ components[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.guard#_O1Ujg_qmEeectLZKwQfI0A" 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.scGuard name=")" org.eventb.core.label="cm" org.eventb.core.predicate="c_mult_others∈components[{Pat}] ∖ dom(inst_components) → ℕ" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.guard#_O1UjhPqmEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <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.scParameter name="c_mult_others" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.parameter#_O1UjgfqmEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/> <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.scParameter name="inst_components" org.eventb.core.source="/pseim/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.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.scAction name="inst_componentt" org.eventb.core.assignment="c_multiplicity ≔ c_multiplicity(c_mult_others{pc⦂Component·pc∈dom(inst_components) ∣ pc ↦ card(inst_components[{pc}])})" org.eventb.core.label="c_mult" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1UjhfqmEeectLZKwQfI0A"/> <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.scAction name="inst_componentu" org.eventb.core.assignment="to_unfold_c ≔ components[{Pat}] ∖ dom(container)" org.eventb.core.label="to_unfold_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1WYt_qmEeectLZKwQfI0A"/> <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.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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1WYuPqmEeectLZKwQfI0A"/> <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.scAction name="inst_componentw" org.eventb.core.assignment="components ≔ {Inst} ⩤ components" org.eventb.core.label="components_inst" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_xPqmEeectLZKwQfI0A"/> <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.scAction name="inst_componentx" org.eventb.core.assignment="container ≔ components[{Inst}] ⩤ container" org.eventb.core.label="container_inst" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_xfqmEeectLZKwQfI0A"/> <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.scAction name="inst_componenty" org.eventb.core.assignment="to_clone_c ≔ ∅ ⦂ ℙ(Component×Component)" org.eventb.core.label="to_clone_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_xvqmEeectLZKwQfI0A"/> <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.scAction name="inst_componentz" org.eventb.core.assignment="c_index ≔ ∅ ⦂ ℙ(Component×ℤ)" org.eventb.core.label="c_index" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_x_qmEeectLZKwQfI0A"/> <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.scAction name="inst_component{" org.eventb.core.assignment="inst2pat_c ≔ ∅ ⦂ ℙ(Component×Component)" org.eventb.core.label="pat2inst_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1W_yPqmEeectLZKwQfI0A"/> <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.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×ℤ)"/>
<org.eventb.core.scVariable name="c_indexes" 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#_nEDgcQ3EEeqU6uo9ksjEPA" org.eventb.core.type="ℙ(Component×ℙ(Component×ℤ))"/>
<org.eventb.core.scVariable name="c_multiplicity" 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#_1dqNIPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.scVariable name="components" 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#_cQf0YfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model×Component)"/>
<org.eventb.core.scVariable name="container" 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#_cQf0YvqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="containers" 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#_gmDo8PqgEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="inst2pat_c" 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#_xudpYAK5EeiAPf1wPUl3Gw" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="to_unfold_c" 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#_1dqNIvqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scVariable name="to_unfold_c_in" 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#_9phD8AKqEeiAPf1wPUl3Gw" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariant name="to_unfold_c_io" org.eventb.core.expression="(P ⇸ 1 ‥ M) ∖ c_indexes[dom(inst2pat_c)]" org.eventb.core.label="VARIANT" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_gEhCEQhLEeqU6uo9ksjEPA"/>
<org.eventb.core.scEvent name="to_unfold_c_ip" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="instanciate_pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'">
<org.eventb.core.scGuard name="'" org.eventb.core.label="ic" 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.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="icr" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="cm" 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.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="cmult" 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.theorem="false"/>
<org.eventb.core.scParameter name="c_mult" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.parameter#_O1VxofqmEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/>
<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_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.scEvent> </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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"> <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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYsfqmEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <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"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="new_c_ty" org.eventb.core.predicate="new_c∈1 ‥ c_multiplicity(c) ↣ Component ∖ ran(components)" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYsvqmEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <org.eventb.core.scGuard name="(" org.eventb.core.label="new_c_ty" 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.theorem="false"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.parameter#_O1VxofqmEeectLZKwQfI0A" org.eventb.core.type="Component"/> <org.eventb.core.scGuard name=")" org.eventb.core.label="new_c_fin" 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.theorem="true"/>
<org.eventb.core.scParameter name="new_c" org.eventb.core.source="/pseim/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.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.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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1Xm1PqmEeectLZKwQfI0A"/> <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.scAction name="new_e" org.eventb.core.assignment="to_clone_c ≔ to_clone_c∪(ran(new_c) × {c})" org.eventb.core.label="to_clone_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1Xm1fqmEeectLZKwQfI0A"/> <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_f" org.eventb.core.assignment="c_index ≔ c_index∪new_c∼" org.eventb.core.label="c_index" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1Xm1vqmEeectLZKwQfI0A"/> <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_g" org.eventb.core.assignment="to_unfold_c ≔ to_unfold_c ∖ {c}" org.eventb.core.label="to_unfold_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1Xm1_qmEeectLZKwQfI0A"/> <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_h" org.eventb.core.assignment="inst2pat_c ≔ inst2pat_c∪(ran(new_c) × {c})" org.eventb.core.label="pat2inst_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A|org.eventb.core.action#_O1YN4PqmEeectLZKwQfI0A"/> <org.eventb.core.scAction name="new_f" org.eventb.core.assignment="c_index ≔ c_index∪new_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.scEvent> </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="clone_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A"> <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∈dom(to_clone_c)" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYs_qmEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <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"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.parameter#_O1W_wPqmEeectLZKwQfI0A" org.eventb.core.type="Component"/> <org.eventb.core.scGuard name="(" org.eventb.core.label="new_c_ty" 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.theorem="false"/>
<org.eventb.core.scAction name="d" org.eventb.core.assignment="to_unfold_c_in ≔ to_unfold_c_in∪(container∼[{to_clone_c(c)}] × {c})" org.eventb.core.label="to_unfold_c_in" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_O1YN4fqmEeectLZKwQfI0A"/> <org.eventb.core.scGuard name=")" org.eventb.core.label="new_c_fin" 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.theorem="true"/>
<org.eventb.core.scAction name="e" org.eventb.core.assignment="to_clone_c ≔ {c} ⩤ to_clone_c" org.eventb.core.label="cloned_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.action#_O1YN4vqmEeectLZKwQfI0A"/> <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#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.guard#_O1Xm0vqmEeectLZKwQfI0A" 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#_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_index∪new_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.scEvent> </org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_c_is" 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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"> <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="c_ty" org.eventb.core.predicate="c ↦ dest∈to_unfold_c_in" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYtPqmEeectLZKwQfI0A" org.eventb.core.theorem="false"/> <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="new_c_ty" org.eventb.core.predicate="new_c∈1 ‥ c_multiplicity(c) ↣ Component ∖ ran(components)" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYtfqmEeectLZKwQfI0A" 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.scParameter name="c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.parameter#_O1W_wfqmEeectLZKwQfI0A" org.eventb.core.type="Component"/> <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.scParameter name="dest" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.parameter#_O1Xm0PqmEeectLZKwQfI0A" org.eventb.core.type="Component"/> <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.scParameter name="new_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.parameter#_O1Xm0fqmEeectLZKwQfI0A" 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#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.parameter#_rQ0PgPtxEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#_lyJKIPreEeerIsS6OyYQ4w"/> <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="new_e" org.eventb.core.assignment="container ≔ container∪(ran(new_c) × {dest})" org.eventb.core.label="new_c_container" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#_rQ0PgftxEeectLZKwQfI0A"/> <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="new_f" org.eventb.core.assignment="to_clone_c ≔ to_clone_c∪(ran(new_c) × {c})" org.eventb.core.label="to_clone_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#_xQWRoP01EeeINffjS36taQ"/> <org.eventb.core.scAction name="inst_componentu" org.eventb.core.assignment="container ≔ container∪((inst_components∪new_components)∼;container;(inst_components∪new_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="new_g" org.eventb.core.assignment="c_index ≔ c_index∪new_c∼" org.eventb.core.label="c_index" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#_254qkAA2EeictLZKwQfI0A"/> <org.eventb.core.scAction name="inst_componentv" org.eventb.core.assignment="containers ≔ containers∪(new_components∼;containers;inst_components;containers)∪(new_components∼;containers;(new_components∪inst_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="new_h" org.eventb.core.assignment="to_unfold_c_in ≔ to_unfold_c_in ∖ {c ↦ dest}" org.eventb.core.label="to_unfold_c_in" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#_254qkQA2EeictLZKwQfI0A"/>
<org.eventb.core.scAction name="new_i" org.eventb.core.assignment="inst2pat_c ≔ inst2pat_c∪(ran(new_c) × {c})" org.eventb.core.label="pat2inst_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A|org.eventb.core.action#_i0ODcAIQEei9ocE08JsPSw"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_c_it" 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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A">
<org.eventb.core.scGuard name="'" org.eventb.core.label="ic" org.eventb.core.predicate="inst_components∈components[{Inst}] ⤔ components[{Mdl}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYtvqmEeectLZKwQfI0A" 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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A|org.eventb.core.guard#_O1W_wvqmEeectLZKwQfI0A" 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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A|org.eventb.core.guard#_O1W_w_qmEeectLZKwQfI0A" 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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A|org.eventb.core.guard#_O1Xm0vqmEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="inst_components" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A|org.eventb.core.parameter#_rQ0PgPtxEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scParameter name="new_components" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A|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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A|org.eventb.core.action#_reToAAK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.scAction name="inst_componentu" org.eventb.core.assignment="container ≔ container∪((inst_components∪new_components)∼;container;(inst_components∪new_components))" org.eventb.core.label="f" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A|org.eventb.core.action#_szQBsAK7EeiAPf1wPUl3Gw"/>
</org.eventb.core.scEvent> </org.eventb.core.scEvent>
</org.eventb.core.scMachineFile> </org.eventb.core.scMachineFile>

1960
Event-B/pseim/mComponent.bpo

File diff suppressed because it is too large Load Diff

58221
Event-B/pseim/mComponent.bpr

File diff suppressed because it is too large Load Diff

155
Event-B/pseim/mComponent.bps

@ -1,2 +1,153 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.psFile/> <org.eventb.core.psFile>
<org.eventb.core.psStatus name="cl_compr/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="cont_ctr/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="cont_fin/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="irrefl/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="cont_mono/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_mul/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_in_mul/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_unfold_in/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_fin/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="to_clone_c_mult/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="M_fin/THM" org.eventb.core.confidence="0" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="M/WD" org.eventb.core.confidence="0" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="P_fin/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="c_indexes_dom/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="c_indexes_cont/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="c_indexes_val/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_in_index/WD" org.eventb.core.confidence="0" org.eventb.core.poStamp="95" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="FIN" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/cmult/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/comp_finite/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/comp_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/c_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/cont_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/cl_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/cl_fin/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/cl_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/cl_trans/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/cl_left/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/cl_irrefl/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/cl_comp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/to_unfold_c_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/to_unfold_c/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/inst2pat_c_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/inst2pat_unfold_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/pat2inst_unfold/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/unfold_root/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/unfold_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/unfold_mul/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/unfold_in_mul/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/unfold_in_i2p/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/unfold_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/inst2pat_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/c_index_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/to_clone_c_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/M/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/P/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/c_indexes_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/c_indexes_dom/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/c_indexes_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/c_indexes_val/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/i2p_dom/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/unfold_index/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/unfold_in_index/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/M/WD" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/new_c_ty/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/new_c_fin/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/new_c_card/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/new_c_card/THM" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/comp_finite/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/comp_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/c_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/cont_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/cl_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/cl_comp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/to_unfold_c_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/to_unfold_c/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/inst2pat_c_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/inst2pat_unfold_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/pat2inst_unfold/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/unfold_root/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/unfold_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/unfold_mul/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/unfold_in_mul/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/unfold_in_i2p/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/unfold_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/inst2pat_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/c_index_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/to_clone_c_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/P/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/c_indexes_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/c_indexes_dom/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/c_indexes_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/c_indexes_val/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/i2p_dom/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/unfold_index/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/unfold_in_index/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/c_indexes/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/VAR" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/new_c_ty/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/new_c_fin/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/new_c_card/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/new_c_card/THM" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/comp_finite/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/comp_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/c_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/cont_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/cl_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/cl_fin/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/cl_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/cl_trans/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/cl_left/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/cl_irrefl/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/cl_comp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/to_unfold_c_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/to_unfold_c/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/inst2pat_c_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/inst2pat_unfold_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/pat2inst_unfold/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/unfold_root/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/unfold_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/unfold_in_mul/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/unfold_in_i2p/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/unfold_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/inst2pat_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/c_index_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/to_clone_c_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/P/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/c_indexes_ty/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/c_indexes_dom/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/c_indexes_cont/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/c_indexes_val/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/i2p_dom/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/unfold_index/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/unfold_in_index/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/c_indexes/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/VAR" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/comp_finite/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/comp_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/c_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/cont_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/cl_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/cl_fin/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/cl_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/cl_trans/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/cl_left/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/cl_irrefl/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/cl_comp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/to_unfold_c_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/to_unfold_c/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/inst2pat_c_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/inst2pat_unfold_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/unfold_root/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/unfold_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/unfold_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/inst2pat_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/P/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/c_indexes_dom/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/c_indexes_cont/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/c_indexes_val/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/i2p_dom/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="97" org.eventb.core.psBroken="true" org.eventb.core.psManual="true"/>
</org.eventb.core.psFile>

142
Event-B/pseim/mComponent.bum

File diff suppressed because one or more lines are too long

32663
Event-B/pseim/mComponent0.bpr

File diff suppressed because it is too large Load Diff

336
Event-B/pseim/mLink.bcm

@ -0,0 +1,336 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.scMachineFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.units.mchBase;org.eventb.codegen.ui.cgConfig">
<org.eventb.core.scRefinesMachine name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mPort.bcm" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.refinesMachine#_a6WF0MOWEeeQteb5bDCu6g"/>
<org.eventb.core.scSeesContext name="(" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cLink.bcc" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.seesContext#_a6WF0cOWEeeQteb5bDCu6g"/>
<org.eventb.core.scInternalContext name="cModel">
<org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" 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.theorem="false"/>
<org.eventb.core.scConstant name="Inst" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/>
<org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scConstant name="Pat" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cComponent">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/>
<org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cPort">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cComponent.bcc|org.eventb.core.scContextFile#cComponent" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.extendsContext#'"/>
<org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="part" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scConstant name="IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocPqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.scConstant name="OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocfqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.scCarrierSet name="Port" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.carrierSet#_YwaNQPqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cLink">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cPort.bcc|org.eventb.core.scContextFile#cPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.extendsContext#'"/>
<org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="link_k" org.eventb.core.predicate="partition(Link,Transpose,Identity,Shift,First,Rotate)" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsfgzEeeeS5KQUtrGlw" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponenv" org.eventb.core.label="LKind" org.eventb.core.predicate="LKind={Transpose,Identity,Shift,First,Rotate}" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsvgzEeeeS5KQUtrGlw" org.eventb.core.theorem="false"/>
<org.eventb.core.scConstant name="First" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhM_g8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Identity" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMfg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="LKind" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_u1ZfsPgzEeeeS5KQUtrGlw" org.eventb.core.type="ℙ(ℙ(Link))"/>
<org.eventb.core.scCarrierSet name="Link" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.carrierSet#_IabHcPoIEeeOzddrJxUeNA" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Rotate" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhNPg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Shift" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMvg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Transpose" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMPg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInvariant name="cComponenu" org.eventb.core.label="comp" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenv" org.eventb.core.label="comp_finite" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenw" org.eventb.core.label="comp_not_shared" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenx" org.eventb.core.label="c_mult" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeny" org.eventb.core.label="cont_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenz" org.eventb.core.label="cl_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen{" org.eventb.core.label="cl_fin" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen|" org.eventb.core.label="cl_cont" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen}" org.eventb.core.label="cl_trans" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen~" org.eventb.core.label="cl_left" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo'" org.eventb.core.label="cl_irrefl" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo(" org.eventb.core.label="cl_comp" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo)" org.eventb.core.label="cl_compr" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo*" org.eventb.core.label="cont_ctr" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo+" org.eventb.core.label="cont_fin" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo," org.eventb.core.label="irrefl" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo-" org.eventb.core.label="cont_mono" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo." org.eventb.core.label="to_unfold_c_in" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo/" org.eventb.core.label="to_unfold_c" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo0" org.eventb.core.label="inst2pat_c_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo1" org.eventb.core.label="inst2pat_unfold_in" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo2" org.eventb.core.label="pat2inst_unfold" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo3" org.eventb.core.label="unfold_root" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo4" org.eventb.core.label="unfold_in" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo5" org.eventb.core.label="unfold_mul" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo6" org.eventb.core.label="unfold_in_mul" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo7" org.eventb.core.label="unfold_in_i2p" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo8" org.eventb.core.label="unfold_cont" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo9" org.eventb.core.label="unfold_unfold_in" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo:" org.eventb.core.label="unfold_fin" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo;" org.eventb.core.label="inst2pat_cont" 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.theorem="false"/>
<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="cComponeoK" org.eventb.core.label="prop" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoL" org.eventb.core.label="port" org.eventb.core.predicate="ports∈ran(components) ↔ Port" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoM" org.eventb.core.label="port_finite" org.eventb.core.predicate="∀c⦂Component·finite(ports[{c}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RfqeEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoN" org.eventb.core.label="port_not_shared" org.eventb.core.predicate="ports∼∈Port ⇸ Component" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RvqeEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoO" org.eventb.core.label="p_mult" org.eventb.core.predicate="p_multiplicity∈(components;ports)[Pattern] → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoP" org.eventb.core.label="to_unfold_p_in" org.eventb.core.predicate="to_unfold_p_in∈(components;ports)[{Pat}] ↔ components[{Inst}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoQ" org.eventb.core.label="inst2pat_p_ty" org.eventb.core.predicate="inst2pat_p∈(components;ports)[{Inst}] → (components;ports)[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoR" org.eventb.core.label="inst2pat_commp" org.eventb.core.predicate="inst2pat_p;ports∼=ports∼;inst2pat_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoS" org.eventb.core.label="to_unfold_p_inst2pat" org.eventb.core.predicate="ran(to_unfold_p_in)⊆dom(inst2pat_c)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_ui7VEAFGEei9ocE08JsPSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoT" org.eventb.core.label="to_unfold_p_in_comp" org.eventb.core.predicate="to_unfold_p_in;inst2pat_c⊆ports∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoU" org.eventb.core.label="i2p_IPort" org.eventb.core.predicate="inst2pat_p[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_22_TUALCEeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoV" org.eventb.core.label="i2p_OPort" org.eventb.core.predicate="inst2pat_p[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFUfMAWQEei9ocE08JsPSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoW" org.eventb.core.label="p_index_ty" org.eventb.core.predicate="p_index∈dom(inst2pat_p) → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFVGQAWQEei9ocE08JsPSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoX" org.eventb.core.label="link_ty" org.eventb.core.predicate="links∈ran(components) ↔ Link" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_S_fWR74_EeeN0675uvquSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoY" org.eventb.core.label="link_finite" org.eventb.core.predicate="∀c⦂Component·finite(links[{c}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_S_fWSL4_EeeN0675uvquSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoZ" org.eventb.core.label="link_not_shared" org.eventb.core.predicate="links∼∈Link ⇸ Component" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_S_f9UL4_EeeN0675uvquSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo[" org.eventb.core.label="src_ty" org.eventb.core.predicate="src∈ran(links) → ran(ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_S_f9Ub4_EeeN0675uvquSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo\" org.eventb.core.label="dst_ty" org.eventb.core.predicate="dst∈ran(links) → ran(ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_S_f9Ur4_EeeN0675uvquSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo]" org.eventb.core.label="link_cii" org.eventb.core.predicate="links;((src ⊗ dst) ▷ (IPort × IPort))⊆ports ⊗ (container∼;ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_0ffzssOZEeeQteb5bDCu6g" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo^" org.eventb.core.label="link_coi" org.eventb.core.predicate="links;((src ⊗ dst) ▷ (OPort × IPort))⊆(container∼;ports) ⊗ (container∼;ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_Z5iv0vg-EeeeS5KQUtrGlw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo_" org.eventb.core.label="link_coo" org.eventb.core.predicate="links;((src ⊗ dst) ▷ (OPort × OPort))⊆(container∼;ports) ⊗ ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_GNeQ0_qOEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo`" org.eventb.core.label="link_cio" org.eventb.core.predicate="links;((src ⊗ dst) ▷ (IPort × OPort))⊆ports ⊗ ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_GNe34PqOEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoa" org.eventb.core.label="transp_src" org.eventb.core.predicate="∀l⦂Link·l∈(components;links)[{Pat}]∩Transpose⇒p_multiplicity(src(l))=c_multiplicity(ports∼(dst(l)))" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_69ZZAPq0EeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeob" org.eventb.core.label="transp_dst" org.eventb.core.predicate="∀l⦂Link·l∈(components;links)[{Pat}]∩Transpose⇒p_multiplicity(dst(l))=c_multiplicity(ports∼(src(l)))" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_X1DEFAA3EeictLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoc" org.eventb.core.label="c_links_done" org.eventb.core.predicate="c_links_done⊆(components;links)[{Pat}] × components[{Inst}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_ocRYQAbKEeiFlqW-8GKglg" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeod" org.eventb.core.label="inst2pat_l_ty" org.eventb.core.predicate="inst2pat_l∈(components;links)[{Inst}] → (components;links)[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_ocRYQQbKEeiFlqW-8GKglg" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoe" org.eventb.core.label="inst2pat_l_preserve_type" org.eventb.core.predicate="∀K⦂ℙ(Link)·K∈LKind⇒inst2pat_l[K]⊆K" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_cztlsQi3EeiFlqW-8GKglg" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeof" org.eventb.core.label="inst2pat_l_src" org.eventb.core.predicate="inst2pat_l;src=src;inst2pat_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_rQxpAQskEeigQsLVMUeRQw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeog" org.eventb.core.label="inst2pat_l_dst" org.eventb.core.predicate="inst2pat_l;dst=dst;inst2pat_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_rQxpAgskEeigQsLVMUeRQw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoh" org.eventb.core.label="transp_correct1" org.eventb.core.predicate="∀l⦂Link·l∈(components;links)[{Inst}]∩Transpose⇒p_index(src(l))=c_index(ports∼(dst(l)))" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_EviiYAslEeigQsLVMUeRQw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoi" org.eventb.core.label="transp_correct2" org.eventb.core.predicate="∀l⦂Link·l∈(components;links)[{Inst}]∩Transpose⇒p_index(dst(l))=c_index(ports∼(src(l)))" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.invariant#_EviiYQslEeigQsLVMUeRQw" org.eventb.core.theorem="false"/>
<org.eventb.core.scVariable name="M" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_QZUfgOTyEeemadOWCHlIvw" org.eventb.core.type="ℤ"/>
<org.eventb.core.scVariable name="P" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_QZUfgeTyEeemadOWCHlIvw" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scVariable name="cProperties" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_Z5iv0fg-EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Component×Property)"/>
<org.eventb.core.scVariable name="c_index" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_73nGMMOYEeeQteb5bDCu6g" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.scVariable name="c_indexes" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_Z5iv0Pg-EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Component×ℙ(Component×ℤ))"/>
<org.eventb.core.scVariable name="c_links_done" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_K9xMMRKbEeqU6uo9ksjEPA" org.eventb.core.type="ℙ(Link×Component)"/>
<org.eventb.core.scVariable name="c_multiplicity" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_S_fWRr4_EeeN0675uvquSw" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.scVariable name="components" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_S_fWQr4_EeeN0675uvquSw" org.eventb.core.type="ℙ(Model×Component)"/>
<org.eventb.core.scVariable name="container" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_S_fWRL4_EeeN0675uvquSw" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="containers" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_S_fWRb4_EeeN0675uvquSw" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="dst" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_K9xMMBKbEeqU6uo9ksjEPA" org.eventb.core.type="ℙ(Link×Port)"/>
<org.eventb.core.scVariable name="inst2pat_c" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_j2NdQeGVEeeUoZak4Ibgcg" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="inst2pat_l" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_K9xMMhKbEeqU6uo9ksjEPA" org.eventb.core.type="ℙ(Link×Link)"/>
<org.eventb.core.scVariable name="inst2pat_p" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_X1DEEwA3EeictLZKwQfI0A" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scVariable name="links" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_cztlsAi3EeiFlqW-8GKglg" org.eventb.core.type="ℙ(Component×Link)"/>
<org.eventb.core.scVariable name="p_index" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_X1DEEQA3EeictLZKwQfI0A" org.eventb.core.type="ℙ(Port×ℤ)"/>
<org.eventb.core.scVariable name="p_multiplicity" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_X1DEEAA3EeictLZKwQfI0A" org.eventb.core.type="ℙ(Port×ℤ)"/>
<org.eventb.core.scVariable name="ports" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_Ajk8sPloEeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Component×Port)"/>
<org.eventb.core.scVariable name="src" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_rQxpAAskEeigQsLVMUeRQw" org.eventb.core.type="ℙ(Link×Port)"/>
<org.eventb.core.scVariable name="to_unfold_c" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_0ffzsMOZEeeQteb5bDCu6g" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scVariable name="to_unfold_c_in" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_j2NdQOGVEeeUoZak4Ibgcg" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="to_unfold_p_in" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variable#_X1DEEgA3EeictLZKwQfI0A" org.eventb.core.type="ℙ(Port×Component)"/>
<org.eventb.core.scVariant name="to_unfold_p_io" org.eventb.core.expression="((components;links)[{Pat}] × components[{Inst}]) ∖ c_links_done" org.eventb.core.label="VARIANT" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.variant#_K8id4Ai5EeiFlqW-8GKglg"/>
<org.eventb.core.scEvent name="to_unfold_p_ip" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="instanciate_pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#'">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mPort.bcm|org.eventb.core.scMachineFile#mPort|org.eventb.core.scEvent#to_unfold_p_ip" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#'|org.eventb.core.refinesEvent#_ypF-0PlnEeeeS5KQUtrGlw"/>
<org.eventb.core.scGuard name="'" org.eventb.core.label="ic" 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.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="icr" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="cm" 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.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="cmult" 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.theorem="false"/>
<org.eventb.core.scGuard name="inst_component}" org.eventb.core.label="ip" org.eventb.core.predicate="inst_ports∈(components;ports)[{Pat}] ↔ (components;ports)[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw0_qwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component~" org.eventb.core.label="ipr" org.eventb.core.predicate="inst_ports∼∈(components;ports)[{Mdl}] ⇸ (components;ports)[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw1PqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu'" org.eventb.core.label="pm" org.eventb.core.predicate="p_mult_others∈(components;ports)[{Pat}] ∖ dom(inst_ports) → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw1fqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu(" org.eventb.core.label="thm" org.eventb.core.predicate="∀p⦂Port·finite(inst_ports[{p}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw1vqwEeectLZKwQfI0A" org.eventb.core.theorem="true"/>
<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_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_componenu)" org.eventb.core.assignment="p_multiplicity ≔ p_multiplicity(p_mult_others{pp⦂Port·pp∈(components;ports)[{Pat}] ∣ pp ↦ card(inst_ports[{pp}])})" org.eventb.core.label="p_mult" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btIX4PqwEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componenu*" org.eventb.core.assignment="inst2pat_p ≔ ∅ ⦂ ℙ(Port×Port)" org.eventb.core.label="inst2pat_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btJmA_qwEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componenu+" org.eventb.core.assignment="ports ≔ components[{Inst}] ⩤ ports" org.eventb.core.label="ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btJmCfqwEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componenu," org.eventb.core.assignment="to_unfold_p_in ≔ ∅ ⦂ ℙ(Port×Component)" org.eventb.core.label="unfold_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btJmCvqwEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componenu-" org.eventb.core.assignment="p_index ≔ ∅ ⦂ ℙ(Port×ℤ)" org.eventb.core.label="p_index" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btKNEPqwEeectLZKwQfI0A"/>
<org.eventb.core.scParameter name="c_mult" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.parameter#_O1VxofqmEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/>
<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.scParameter name="inst_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.parameter#_btHw0fqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scParameter name="p_mult_others" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.parameter#_btHw0vqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port×ℤ)"/>
<org.eventb.core.scGuard name="inst_componenu." org.eventb.core.label="transp_ctr1" org.eventb.core.predicate="∀l⦂Link·l∈(components;links)[{Pat}]∩Transpose∧ports∼(dst(l))∈dom(inst_components)⇒card(inst_ports[{src(l)}])=card(inst_components[{ports∼(dst(l))}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#'|org.eventb.core.guard#_S_eIJL4_EeeN0675uvquSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu/" org.eventb.core.label="transp_ctr2" org.eventb.core.predicate="∀l⦂Link·l∈(components;links)[{Pat}]∩Transpose∧ports∼(dst(l))∉dom(inst_components)⇒card(inst_ports[{src(l)}])=c_mult_others(ports∼(dst(l)))" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#'|org.eventb.core.guard#_S_eIJb4_EeeN0675uvquSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu0" org.eventb.core.label="transp_ctr3" org.eventb.core.predicate="∀l⦂Link·l∈(components;links)[{Pat}]∩Transpose∧ports∼(src(l))∈dom(inst_components)⇒card(inst_ports[{dst(l)}])=card(inst_components[{ports∼(src(l))}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#'|org.eventb.core.guard#_S_eIJr4_EeeN0675uvquSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu1" org.eventb.core.label="transp_ctr4" org.eventb.core.predicate="∀l⦂Link·l∈(components;links)[{Pat}]∩Transpose∧ports∼(src(l))∉dom(inst_components)⇒card(inst_ports[{dst(l)}])=c_mult_others(ports∼(src(l)))" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#'|org.eventb.core.guard#_S_eIJ74_EeeN0675uvquSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scAction name="inst_componenu2" org.eventb.core.assignment="links ≔ components[{Inst}] ⩤ links" org.eventb.core.label="links" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#'|org.eventb.core.action#_S_evNr4_EeeN0675uvquSw"/>
<org.eventb.core.scAction name="inst_componenu3" org.eventb.core.assignment="src ≔ (components;links)[{Inst}] ⩤ src" org.eventb.core.label="src" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#'|org.eventb.core.action#_oe6yMMOjEeeQteb5bDCu6g"/>
<org.eventb.core.scAction name="inst_componenu4" org.eventb.core.assignment="dst ≔ (components;links)[{Inst}] ⩤ dst" org.eventb.core.label="dst" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#'|org.eventb.core.action#_oe6yMcOjEeeQteb5bDCu6g"/>
<org.eventb.core.scAction name="inst_componenu5" org.eventb.core.assignment="inst2pat_l ≔ ∅ ⦂ ℙ(Link×Link)" org.eventb.core.label="inst2pat_l" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#'|org.eventb.core.action#_0IWfoAK-EeiAPf1wPUl3Gw"/>
<org.eventb.core.scAction name="inst_componenu6" org.eventb.core.assignment="c_links_done ≔ ∅ ⦂ ℙ(Link×Component)" org.eventb.core.label="c_links_done" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#'|org.eventb.core.action#_SwNs4ALXEei9ocE08JsPSw"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_p_iq" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_root_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_JZbnAOGWEeeUoZak4Ibgcg">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mPort.bcm|org.eventb.core.scMachineFile#mPort|org.eventb.core.scEvent#to_unfold_p_iq" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_JZbnAOGWEeeUoZak4Ibgcg|org.eventb.core.refinesEvent#_7XcAsAK3EeiAPf1wPUl3Gw"/>
<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"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="new_c_ty" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="new_c_fin" 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.theorem="true"/>
<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.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_index∪new_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_j" org.eventb.core.assignment="cProperties ≔ cProperties∪(ran(new_c) × cProperties[{c}])" org.eventb.core.label="prop" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A|org.eventb.core.action#_btIX4PqwEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_k" org.eventb.core.assignment="to_unfold_p_in ≔ to_unfold_p_in∪(ports[{c}] × ran(new_c))" org.eventb.core.label="unfold_p_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A|org.eventb.core.action#_btKNFfqwEeectLZKwQfI0A"/>
<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.scEvent>
<org.eventb.core.scEvent name="to_unfold_p_ir" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_QZUfguTyEeemadOWCHlIvw">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mPort.bcm|org.eventb.core.scMachineFile#mPort|org.eventb.core.scEvent#to_unfold_p_is" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_QZUfguTyEeemadOWCHlIvw|org.eventb.core.refinesEvent#_-RPi0P06Eees7pYemx4WBQ"/>
<org.eventb.core.scGuard name="'" org.eventb.core.label="p_ty" org.eventb.core.predicate="p ↦ c∈to_unfold_p_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw1_qwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="new_p_ty" org.eventb.core.predicate="new_p∈1 ‥ p_multiplicity(p) ↣ Port ∖ ran(components;ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw2PqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="duplicate_IPorts_direction" org.eventb.core.predicate="p∈IPort⇒ran(new_p)⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw2fqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="duplicate_OPorts_direction" org.eventb.core.predicate="p∈OPort⇒ran(new_p)⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-8_qwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scAction name="new_q" org.eventb.core.assignment="ports ≔ ports∪({c} × ran(new_p))" org.eventb.core.label="new_p_component" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_YHf5cAUuEei9ocE08JsPSw"/>
<org.eventb.core.scAction name="new_r" org.eventb.core.assignment="to_unfold_p_in ≔ to_unfold_p_in ∖ {p ↦ c}" org.eventb.core.label="dp" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_YHiVsAUuEei9ocE08JsPSw"/>
<org.eventb.core.scAction name="new_s" org.eventb.core.assignment="inst2pat_p ≔ inst2pat_p∪(ran(new_p) × {p})" org.eventb.core.label="inst2pat_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_YHiVsQUuEei9ocE08JsPSw"/>
<org.eventb.core.scAction name="new_t" org.eventb.core.assignment="p_index ≔ p_index∪new_p∼" org.eventb.core.label="p_index" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_f2PGEAspEeigQsLVMUeRQw"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.parameter#_btI-8vqwEeectLZKwQfI0A" org.eventb.core.type="Component"/>
<org.eventb.core.scParameter name="new_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.parameter#_btJmB_qwEeectLZKwQfI0A" org.eventb.core.type="ℙ(ℤ×Port)"/>
<org.eventb.core.scParameter name="p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.parameter#_btI-8fqwEeectLZKwQfI0A" org.eventb.core.type="Port"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_p_is" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_node_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_QZVGk-TyEeemadOWCHlIvw">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mPort.bcm|org.eventb.core.scMachineFile#mPort|org.eventb.core.scEvent#to_unfold_p_ir" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_QZVGk-TyEeemadOWCHlIvw|org.eventb.core.refinesEvent#_K9uI4BKbEeqU6uo9ksjEPA"/>
<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"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="new_c_ty" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="new_c_fin" 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.theorem="true"/>
<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#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.guard#_O1Xm0vqmEeectLZKwQfI0A" org.eventb.core.theorem="true"/>
<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_index∪new_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_k" org.eventb.core.assignment="cProperties ≔ cProperties∪(ran(new_c) × cProperties[{c}])" org.eventb.core.label="prop" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A|org.eventb.core.action#_btJmA_qwEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="new_l" org.eventb.core.assignment="to_unfold_p_in ≔ to_unfold_p_in∪(ports[{c}] × ran(new_c))" org.eventb.core.label="unfold_p_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A|org.eventb.core.action#_GO3gcAK8EeiAPf1wPUl3Gw"/>
<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.scEvent>
<org.eventb.core.scEvent name="to_unfold_p_it" org.eventb.core.accurate="true" org.eventb.core.convergence="1" org.eventb.core.extended="false" org.eventb.core.label="unfold_node_link_oi_Transpose" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw">
<org.eventb.core.scGuard name="'" org.eventb.core.label="l_ty" org.eventb.core.predicate="l∈(components;links)[{Pat}]∩Transpose" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_JZbnBOGWEeeUoZak4Ibgcg" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="src_o" org.eventb.core.predicate="src(l)∈OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_nOhFweGpEeeUoZak4Ibgcg" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="dst_i" org.eventb.core.predicate="dst(l)∈IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_yq8FweGpEeeUoZak4Ibgcg" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="c" org.eventb.core.predicate="c∈components[{Inst}]∩dom(inst2pat_c)" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_3EQ2ceGpEeeUoZak4Ibgcg" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="not_done" org.eventb.core.predicate="l ↦ c∉c_links_done" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_RYtJ0uT7EeemadOWCHlIvw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="sci" org.eventb.core.predicate="sci∈1 ‥ c_multiplicity(ports∼(src(l))) ↣ container∼[{c}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_RYtJ0-T7EeemadOWCHlIvw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="-" org.eventb.core.label="sci_ctr" org.eventb.core.predicate="inst2pat_c[ran(sci)]⊆{ports∼(src(l))}" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_RYtJ1OT7EeemadOWCHlIvw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="." org.eventb.core.label="sci_c_index" org.eventb.core.predicate="sci;c_index=(id ⦂ ℙ(ℤ×ℤ))" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_RYtJ1eT7EeemadOWCHlIvw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="/" org.eventb.core.label="dci" org.eventb.core.predicate="dci∈1 ‥ c_multiplicity(ports∼(dst(l))) ↣ container∼[{c}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_WfAcMAK-EeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="0" org.eventb.core.label="dci_ctr" org.eventb.core.predicate="inst2pat_c[ran(dci)]⊆{ports∼(dst(l))}" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_nHJTNQRrEei9ocE08JsPSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="1" org.eventb.core.label="dci_c_index" org.eventb.core.predicate="dci;c_index=(id ⦂ ℙ(ℤ×ℤ))" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_DdBJsAc3EeiFlqW-8GKglg" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="2" org.eventb.core.label="spi_ty" org.eventb.core.predicate="spi∈ran(sci) → (1 ‥ p_multiplicity(src(l)) ↣ inst2pat_p∼[{src(l)}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_70QzIAc3EeiFlqW-8GKglg" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="3" org.eventb.core.label="spi_ctr" org.eventb.core.predicate="∀ci⦂Component·ci∈ran(sci)⇒spi(ci)∈1 ‥ p_multiplicity(src(l)) ↣ ports[{ci}]∩OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_6bPz8AdGEeiFlqW-8GKglg" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="4" org.eventb.core.label="spi_p_index" org.eventb.core.predicate="∀ci⦂Component·ci∈ran(sci)⇒spi(ci);p_index=(id ⦂ ℙ(ℤ×ℤ))" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_6bPz8QdGEeiFlqW-8GKglg" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="5" org.eventb.core.label="dpi_ty" org.eventb.core.predicate="dpi∈ran(dci) → (1 ‥ p_multiplicity(dst(l)) ↣ inst2pat_p∼[{dst(l)}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_nxuuQQi-EeiFlqW-8GKglg" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="6" org.eventb.core.label="dpi_ctr" org.eventb.core.predicate="∀ci⦂Component·ci∈ran(dci)⇒dpi(ci)∈1 ‥ p_multiplicity(dst(l)) ↣ ports[{ci}]∩IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_quOpsAjAEeiFlqW-8GKglg" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="7" org.eventb.core.label="dpi_p_index" org.eventb.core.predicate="∀ci⦂Component·ci∈ran(dci)⇒dpi(ci);p_index=(id ⦂ ℙ(ℤ×ℤ))" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_BL1LoAkjEeiFlqW-8GKglg" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="8" org.eventb.core.label="new_l_ty" org.eventb.core.predicate="new_l∈1 ‥ p_multiplicity(src(l)) × 1 ‥ c_multiplicity(ports∼(src(l))) ↣ Transpose ∖ ran(links)" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.guard#_BL1ysAkjEeiFlqW-8GKglg" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.parameter#_nHJTMARrEei9ocE08JsPSw" org.eventb.core.type="Component"/>
<org.eventb.core.scParameter name="dci" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.parameter#_nOhFwOGpEeeUoZak4Ibgcg" org.eventb.core.type="ℙ(ℤ×Component)"/>
<org.eventb.core.scParameter name="dpi" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.parameter#_JZbnAuGWEeeUoZak4Ibgcg" org.eventb.core.type="ℙ(Component×ℙ(ℤ×Port))"/>
<org.eventb.core.scParameter name="l" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.parameter#_RYtJ0OT7EeemadOWCHlIvw" org.eventb.core.type="Link"/>
<org.eventb.core.scParameter name="new_l" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.parameter#_nHIsIARrEei9ocE08JsPSw" org.eventb.core.type="ℙ(ℤ×ℤ×Link)"/>
<org.eventb.core.scParameter name="sci" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.parameter#_S_eIIL4_EeeN0675uvquSw" org.eventb.core.type="ℙ(ℤ×Component)"/>
<org.eventb.core.scParameter name="spi" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.parameter#_S_dhEr4_EeeN0675uvquSw" org.eventb.core.type="ℙ(Component×ℙ(ℤ×Port))"/>
<org.eventb.core.scAction name="new_m" org.eventb.core.assignment="links ≔ links∪({c} × ran(new_l))" org.eventb.core.label="links" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.action#_ov6eYALXEei9ocE08JsPSw"/>
<org.eventb.core.scAction name="new_n" org.eventb.core.assignment="src ≔ src∪{ip⦂ℤ,ic⦂ℤ·ip ↦ ic∈dom(new_l) ∣ new_l(ip ↦ ic) ↦ spi(sci(ic))(ip)}" org.eventb.core.label="nsrc" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.action#_ztHbMAaaEeiFlqW-8GKglg"/>
<org.eventb.core.scAction name="new_o" org.eventb.core.assignment="dst ≔ dst∪{ip⦂ℤ,ic⦂ℤ·ip ↦ ic∈dom(new_l) ∣ new_l(ip ↦ ic) ↦ dpi(dci(ip))(ic)}" org.eventb.core.label="ndst" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.action#_1ZIboAabEeiFlqW-8GKglg"/>
<org.eventb.core.scAction name="new_p" org.eventb.core.assignment="inst2pat_l ≔ inst2pat_l∪(ran(new_l) × {l})" org.eventb.core.label="inst2pat_l" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.action#_1ZIboQabEeiFlqW-8GKglg"/>
<org.eventb.core.scAction name="new_q" org.eventb.core.assignment="c_links_done ≔ c_links_done∪{l ↦ c}" org.eventb.core.label="c_links_done" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_H7W2gPg_EeeeS5KQUtrGlw|org.eventb.core.action#_czs-oAi3EeiFlqW-8GKglg"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_p_iu" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="apply_pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_ypJCIflnEeeeS5KQUtrGlw">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mPort.bcm|org.eventb.core.scMachineFile#mPort|org.eventb.core.scEvent#to_unfold_p_it" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_ypJCIflnEeeeS5KQUtrGlw|org.eventb.core.refinesEvent#_K9vXABKbEeqU6uo9ksjEPA"/>
<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="inst_componentw" org.eventb.core.label="inst_prop" 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.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenty" org.eventb.core.label="ip" org.eventb.core.predicate="inst_ports∈(components;ports)[{Inst}] ⤔ (components;ports)[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9PqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componentz" org.eventb.core.label="mp_i" org.eventb.core.predicate="inst_ports[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9fqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component{" org.eventb.core.label="mp_o" org.eventb.core.predicate="inst_ports[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9vqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component|" org.eventb.core.label="ports_inst_rel_comp_inst" org.eventb.core.predicate="ports∼[dom(inst_ports)]⊆dom(inst_components)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9_qwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component}" org.eventb.core.label="ports_inst_rel_port_comp" org.eventb.core.predicate="inst_ports∼;ports∼;inst_components⊆ports∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI--PqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component~" org.eventb.core.label="np" org.eventb.core.predicate="new_ports∈(components;ports)[{Inst}] ∖ dom(inst_ports) ↣ Port ∖ ran(components;ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI--fqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu'" org.eventb.core.label="np_i" org.eventb.core.predicate="new_ports[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_knJVMAK2EeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu(" org.eventb.core.label="np_o" org.eventb.core.predicate="new_ports[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_OuP8ACxHEeiUbZrF94gIyA" org.eventb.core.theorem="false"/>
<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_components∪new_components)∼;container;(inst_components∪new_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_components∪inst_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_componentx" org.eventb.core.assignment="cProperties ≔ cProperties∪((inst_components∪new_components)∼;cProperties;((id ⦂ ℙ(Property×Property))inst_props))" org.eventb.core.label="prop" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_bAhyggKxEeiAPf1wPUl3Gw"/>
<org.eventb.core.scAction name="inst_componenu)" org.eventb.core.assignment="ports ≔ ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports))" org.eventb.core.label="p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.action#_nVtZw_I8EemlHb-ZV1EcBQ"/>
<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.scParameter name="inst_props" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.parameter#_btHw0fqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Property×Property)"/>
<org.eventb.core.scParameter name="inst_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.parameter#_btKNE_qwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scParameter name="new_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.parameter#_LNbVcAWLEei9ocE08JsPSw" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scGuard name="inst_componenu*" org.eventb.core.label="inst_links_ty" org.eventb.core.predicate="inst_links∈(components;links)[{Inst}] ⤔ (components;links)[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_ypJCIflnEeeeS5KQUtrGlw|org.eventb.core.guard#_Bszp0AsoEeigQsLVMUeRQw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu+" org.eventb.core.label="inst_src" org.eventb.core.predicate="inst_links;src⊆src;inst_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_ypJCIflnEeeeS5KQUtrGlw|org.eventb.core.guard#_G8ASkAsoEeigQsLVMUeRQw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu," org.eventb.core.label="inst_dst" org.eventb.core.predicate="inst_links;dst⊆dst;inst_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_ypJCIflnEeeeS5KQUtrGlw|org.eventb.core.guard#_78O84AsoEeigQsLVMUeRQw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu-" org.eventb.core.label="nl" org.eventb.core.predicate="new_links∈(components;links)[{Inst}] ∖ dom(inst_links) ↣ Link ∖ ran(links)" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_ypJCIflnEeeeS5KQUtrGlw|org.eventb.core.guard#_78O84QsoEeigQsLVMUeRQw" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="inst_links" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_ypJCIflnEeeeS5KQUtrGlw|org.eventb.core.parameter#_nHJTMQRrEei9ocE08JsPSw" org.eventb.core.type="ℙ(Link×Link)"/>
<org.eventb.core.scParameter name="new_links" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_ypJCIflnEeeeS5KQUtrGlw|org.eventb.core.parameter#_nxuuQAi-EeiFlqW-8GKglg" org.eventb.core.type="ℙ(Link×Link)"/>
<org.eventb.core.scAction name="inst_componenu." org.eventb.core.assignment="src ≔ src(new_links∼;src;(inst_ports∪new_ports))" org.eventb.core.label="s" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_ypJCIflnEeeeS5KQUtrGlw|org.eventb.core.action#_czuz0gi3EeiFlqW-8GKglg"/>
<org.eventb.core.scAction name="inst_componenu/" org.eventb.core.assignment="dst ≔ dst(new_links∼;dst;(inst_ports∪new_ports))" org.eventb.core.label="d" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_ypJCIflnEeeeS5KQUtrGlw|org.eventb.core.action#_vsWoMAs_EeiJbMmmYBswhA"/>
<org.eventb.core.scAction name="inst_componenu0" org.eventb.core.assignment="links ≔ links∪((inst_components∪new_components)∼;links;new_links)" org.eventb.core.label="l" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_ypJCIflnEeeeS5KQUtrGlw|org.eventb.core.action#_Ce3aEAtCEeiJbMmmYBswhA"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_p_iv" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="apply_link_pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_u6P4gAK9EeiAPf1wPUl3Gw">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mPort.bcm|org.eventb.core.scMachineFile#mPort|org.eventb.core.scEvent#to_unfold_p_iu" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_u6P4gAK9EeiAPf1wPUl3Gw|org.eventb.core.refinesEvent#_K9v-EBKbEeqU6uo9ksjEPA"/>
<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="inst_componentw" org.eventb.core.label="inst_prop" 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.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenty" org.eventb.core.label="comp" org.eventb.core.predicate="comp∈components[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyuPI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componentz" org.eventb.core.label="comp_map" org.eventb.core.predicate="ran(inst_components)={comp}" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyufI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component{" org.eventb.core.label="src_subc" org.eventb.core.predicate="src_subc × {comp}⊆container" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyuvI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component|" org.eventb.core.label="dst_subc" org.eventb.core.predicate="dst_subc × {comp}⊆container" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyu_I8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component}" org.eventb.core.label="ip" org.eventb.core.predicate="src_ports∈(inst_components∼;ports ▷ IPort)[{comp}] ⤔ ports[src_subc]∩OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyvPI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component~" org.eventb.core.label="op" org.eventb.core.predicate="dst_ports∈(inst_components∼;ports ▷ OPort)[{comp}] ⤔ ports[dst_subc]∩IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyvfI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu'" org.eventb.core.label="np" org.eventb.core.predicate="new_ports∈(components;ports)[{Inst}] ∖ (dom(src_ports)∪dom(src_ports)) ↣ Port ∖ ran(components;ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyvvI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu(" org.eventb.core.label="np_i" org.eventb.core.predicate="new_ports[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVtZwPI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu)" org.eventb.core.label="np_o" org.eventb.core.predicate="new_ports[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVtZwfI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<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_components∪new_components)∼;container;(inst_components∪new_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_components∪inst_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_componentx" org.eventb.core.assignment="cProperties ≔ cProperties∪((inst_components∪new_components)∼;cProperties;((id ⦂ ℙ(Property×Property))inst_props))" org.eventb.core.label="prop" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_bAhyggKxEeiAPf1wPUl3Gw"/>
<org.eventb.core.scAction name="inst_componenu*" org.eventb.core.assignment="ports ≔ ports∪((inst_components∪new_components)∼;ports;new_ports)" org.eventb.core.label="p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.action#_LcSJoBKaEeqU6uo9ksjEPA"/>
<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.scParameter name="inst_props" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.parameter#_btHw0fqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Property×Property)"/>
<org.eventb.core.scParameter name="comp" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsysvI8EemlHb-ZV1EcBQ" org.eventb.core.type="Component"/>
<org.eventb.core.scParameter name="dst_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsytvI8EemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scParameter name="dst_subc" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsytPI8EemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scParameter name="new_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsyt_I8EemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scParameter name="src_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsytfI8EemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scParameter name="src_subc" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsys_I8EemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scGuard name="inst_componenu+" org.eventb.core.label="inst_links_ty" org.eventb.core.predicate="inst_links⊆links[{comp}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_u6P4gAK9EeiAPf1wPUl3Gw|org.eventb.core.guard#_F143NPJAEemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu," org.eventb.core.label="inst_src" org.eventb.core.predicate="src[inst_links]=dom(src_ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_u6P4gAK9EeiAPf1wPUl3Gw|org.eventb.core.guard#_F143NfJAEemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu-" org.eventb.core.label="inst_dst" org.eventb.core.predicate="dst[inst_links]=dom(dst_ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_u6P4gAK9EeiAPf1wPUl3Gw|org.eventb.core.guard#_F143NvJAEemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu." org.eventb.core.label="nl" org.eventb.core.predicate="new_links∈(components;links)[{Inst}] ↣ Link ∖ ran(links)" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_u6P4gAK9EeiAPf1wPUl3Gw|org.eventb.core.guard#_F143N_JAEemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="inst_links" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_u6P4gAK9EeiAPf1wPUl3Gw|org.eventb.core.parameter#_F143MvJAEemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scParameter name="new_links" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_u6P4gAK9EeiAPf1wPUl3Gw|org.eventb.core.parameter#_F143M_JAEemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Link×Link)"/>
<org.eventb.core.scAction name="inst_componenu/" org.eventb.core.assignment="src ≔ (inst_links ⩤ src)(new_links∼;src;new_ports)" org.eventb.core.label="s" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_u6P4gAK9EeiAPf1wPUl3Gw|org.eventb.core.action#_F143OPJAEemlHb-ZV1EcBQ"/>
<org.eventb.core.scAction name="inst_componenu0" org.eventb.core.assignment="dst ≔ (inst_links ⩤ dst)(new_links∼;dst;new_ports)" org.eventb.core.label="d" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_u6P4gAK9EeiAPf1wPUl3Gw|org.eventb.core.action#_F143OfJAEemlHb-ZV1EcBQ"/>
<org.eventb.core.scAction name="inst_componenu1" org.eventb.core.assignment="links ≔ (links ⩥ inst_links)∪((inst_components∪new_components)∼;links;new_links)" org.eventb.core.label="l" org.eventb.core.source="/MODELS_INC_V9_VAR/mLink.bum|org.eventb.core.machineFile#mLink|org.eventb.core.event#_u6P4gAK9EeiAPf1wPUl3Gw|org.eventb.core.action#_F143OvJAEemlHb-ZV1EcBQ"/>
</org.eventb.core.scEvent>
</org.eventb.core.scMachineFile>

1401
Event-B/pseim/mLink.bpo

File diff suppressed because it is too large Load Diff

26515
Event-B/pseim/mLink.bpr

File diff suppressed because it is too large Load Diff

127
Event-B/pseim/mLink.bps

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.psFile>
<org.eventb.core.psStatus name="transp_src/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="77" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="transp_dst/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="77" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="transp_correct1/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="77" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="transp_correct2/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="77" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="FIN" org.eventb.core.confidence="0" org.eventb.core.poStamp="77" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/transp_ctr1/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/transp_ctr2/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/transp_ctr3/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/transp_ctr4/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/link_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/link_finite/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/link_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/src_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/dst_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/link_cii/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/link_coi/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/link_coo/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/link_cio/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/transp_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/transp_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/c_links_done/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/inst2pat_l_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/inst2pat_l_preserve_type/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/inst2pat_l_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/inst2pat_l_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/transp_correct1/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/transp_correct2/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/link_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/transp_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/transp_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/c_links_done/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/inst2pat_l_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/transp_correct1/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/transp_correct2/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/src_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_p/dst_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_p/link_cii/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/link_coi/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/link_coo/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/link_cio/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/transp_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_p/transp_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_p/inst2pat_l_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/inst2pat_l_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/transp_correct1/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_p/transp_correct2/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/link_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/link_cii/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/link_coi/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/link_coo/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/transp_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/transp_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/c_links_done/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/inst2pat_l_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/transp_correct1/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/transp_correct2/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/src_o/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/dst_i/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/sci/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/sci_ctr/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/dci/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/dci_ctr/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/spi_ty/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/spi_ctr/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/spi_p_index/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/dpi_ty/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/dpi_ctr/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/dpi_p_index/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/new_l_ty/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/link_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/link_finite/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/link_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/src_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/dst_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/link_cii/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/link_coi/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/link_coo/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/link_cio/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/transp_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/transp_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/c_links_done/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/inst2pat_l_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/inst2pat_l_preserve_type/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/inst2pat_l_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/inst2pat_l_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/transp_correct1/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/transp_correct2/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/nsrc/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/ndst/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_link_oi_Transpose/VAR" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/link_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/link_finite/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/link_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/src_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/dst_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/link_cii/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/link_coi/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/link_coo/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/link_cio/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/transp_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/transp_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/c_links_done/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/inst2pat_l_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/inst2pat_l_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/inst2pat_l_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/transp_correct1/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/transp_correct2/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_link_pattern/link_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/link_finite/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/link_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/src_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/dst_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/link_cii/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/link_coi/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/link_coo/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/link_cio/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/transp_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/transp_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/c_links_done/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/inst2pat_l_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/inst2pat_l_src/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/inst2pat_l_dst/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/transp_correct1/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/transp_correct2/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="79" org.eventb.core.psManual="true"/>
</org.eventb.core.psFile>

80
Event-B/pseim/mLink.bum

File diff suppressed because one or more lines are too long

241
Event-B/pseim/mPort.bcm

@ -0,0 +1,241 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.scMachineFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.units.mchBase">
<org.eventb.core.scRefinesMachine name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mProperty.bcm" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.refinesMachine#_gbAPMADlEei-meqqkXX9bA"/>
<org.eventb.core.scSeesContext name="(" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cPort.bcc" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.seesContext#_0kfYMfqeEeectLZKwQfI0A"/>
<org.eventb.core.scInternalContext name="cModel">
<org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" 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.theorem="false"/>
<org.eventb.core.scConstant name="Inst" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/>
<org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scConstant name="Pat" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cComponent">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/>
<org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cPort">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cComponent.bcc|org.eventb.core.scContextFile#cComponent" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.extendsContext#'"/>
<org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="part" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scConstant name="IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocPqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.scConstant name="OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocfqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.scCarrierSet name="Port" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.carrierSet#_YwaNQPqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInvariant name="cComponenu" org.eventb.core.label="comp" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenv" org.eventb.core.label="comp_finite" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenw" org.eventb.core.label="comp_not_shared" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenx" org.eventb.core.label="c_mult" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeny" org.eventb.core.label="cont_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenz" org.eventb.core.label="cl_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen{" org.eventb.core.label="cl_fin" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen|" org.eventb.core.label="cl_cont" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen}" org.eventb.core.label="cl_trans" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen~" org.eventb.core.label="cl_left" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo'" org.eventb.core.label="cl_irrefl" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo(" org.eventb.core.label="cl_comp" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo)" org.eventb.core.label="cl_compr" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo*" org.eventb.core.label="cont_ctr" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo+" org.eventb.core.label="cont_fin" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo," org.eventb.core.label="irrefl" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo-" org.eventb.core.label="cont_mono" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo." org.eventb.core.label="to_unfold_c_in" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo/" org.eventb.core.label="to_unfold_c" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo0" org.eventb.core.label="inst2pat_c_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo1" org.eventb.core.label="inst2pat_unfold_in" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo2" org.eventb.core.label="pat2inst_unfold" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo3" org.eventb.core.label="unfold_root" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo4" org.eventb.core.label="unfold_in" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo5" org.eventb.core.label="unfold_mul" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo6" org.eventb.core.label="unfold_in_mul" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo7" org.eventb.core.label="unfold_in_i2p" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo8" org.eventb.core.label="unfold_cont" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo9" org.eventb.core.label="unfold_unfold_in" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo:" org.eventb.core.label="unfold_fin" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo;" org.eventb.core.label="inst2pat_cont" 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.theorem="false"/>
<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="cComponeoK" org.eventb.core.label="prop" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoL" org.eventb.core.label="port" org.eventb.core.predicate="ports∈ran(components) ↔ Port" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoM" org.eventb.core.label="port_finite" org.eventb.core.predicate="∀c⦂Component·finite(ports[{c}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RfqeEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoN" org.eventb.core.label="port_not_shared" org.eventb.core.predicate="ports∼∈Port ⇸ Component" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RvqeEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoO" org.eventb.core.label="p_mult" org.eventb.core.predicate="p_multiplicity∈(components;ports)[Pattern] → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoP" org.eventb.core.label="to_unfold_p_in" org.eventb.core.predicate="to_unfold_p_in∈(components;ports)[{Pat}] ↔ components[{Inst}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoQ" org.eventb.core.label="inst2pat_p_ty" org.eventb.core.predicate="inst2pat_p∈(components;ports)[{Inst}] → (components;ports)[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoR" org.eventb.core.label="inst2pat_commp" org.eventb.core.predicate="inst2pat_p;ports∼=ports∼;inst2pat_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoS" org.eventb.core.label="to_unfold_p_inst2pat" org.eventb.core.predicate="ran(to_unfold_p_in)⊆dom(inst2pat_c)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_ui7VEAFGEei9ocE08JsPSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoT" org.eventb.core.label="to_unfold_p_in_comp" org.eventb.core.predicate="to_unfold_p_in;inst2pat_c⊆ports∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoU" org.eventb.core.label="i2p_IPort" org.eventb.core.predicate="inst2pat_p[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_22_TUALCEeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoV" org.eventb.core.label="i2p_OPort" org.eventb.core.predicate="inst2pat_p[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFUfMAWQEei9ocE08JsPSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeoW" org.eventb.core.label="p_index_ty" org.eventb.core.predicate="p_index∈dom(inst2pat_p) → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFVGQAWQEei9ocE08JsPSw" org.eventb.core.theorem="false"/>
<org.eventb.core.scVariable name="M" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_oU9JIPqyEeectLZKwQfI0A" org.eventb.core.type="ℤ"/>
<org.eventb.core.scVariable name="P" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_6RL9kAA2EeictLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scVariable name="cProperties" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_jRoOoPqxEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Property)"/>
<org.eventb.core.scVariable name="c_index" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_btIX4fqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.scVariable name="c_indexes" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_h1eCEADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Component×ℙ(Component×ℤ))"/>
<org.eventb.core.scVariable name="c_multiplicity" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_0kf_Q_qeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.scVariable name="components" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_0kf_QPqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model×Component)"/>
<org.eventb.core.scVariable name="container" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_0kf_QfqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="containers" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_0kf_QvqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="inst2pat_c" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_JtPOYPqxEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="inst2pat_p" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_XAX34BKaEeqU6uo9ksjEPA" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scVariable name="p_index" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_LcSJoRKaEeqU6uo9ksjEPA" org.eventb.core.type="ℙ(Port×ℤ)"/>
<org.eventb.core.scVariable name="p_multiplicity" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_zY448QK7EeiAPf1wPUl3Gw" org.eventb.core.type="ℙ(Port×ℤ)"/>
<org.eventb.core.scVariable name="ports" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_zY448AK7EeiAPf1wPUl3Gw" org.eventb.core.type="ℙ(Component×Port)"/>
<org.eventb.core.scVariable name="to_unfold_c" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_zYW3EPqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scVariable name="to_unfold_c_in" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_ANiZwPqxEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="to_unfold_p_in" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variable#_LcSJohKaEeqU6uo9ksjEPA" org.eventb.core.type="ℙ(Port×Component)"/>
<org.eventb.core.scVariant name="to_unfold_p_io" org.eventb.core.expression="to_unfold_p_in" org.eventb.core.label="VARIANT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variant#_7pQu4Af5EeiFlqW-8GKglg"/>
<org.eventb.core.scEvent name="to_unfold_p_ip" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="instanciate_pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mProperty.bcm|org.eventb.core.scMachineFile#mProperty|org.eventb.core.scEvent#to_unfold_c_io" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.refinesEvent#_btHw0PqwEeectLZKwQfI0A"/>
<org.eventb.core.scGuard name="'" org.eventb.core.label="ic" 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.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="icr" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="cm" 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.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="cmult" 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.theorem="false"/>
<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_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.scParameter name="c_mult" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.parameter#_O1VxofqmEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/>
<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.scGuard name="inst_component}" org.eventb.core.label="ip" org.eventb.core.predicate="inst_ports∈(components;ports)[{Pat}] ↔ (components;ports)[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw0_qwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component~" org.eventb.core.label="ipr" org.eventb.core.predicate="inst_ports∼∈(components;ports)[{Mdl}] ⇸ (components;ports)[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw1PqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu'" org.eventb.core.label="pm" org.eventb.core.predicate="p_mult_others∈(components;ports)[{Pat}] ∖ dom(inst_ports) → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw1fqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu(" org.eventb.core.label="thm" org.eventb.core.predicate="∀p⦂Port·finite(inst_ports[{p}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw1vqwEeectLZKwQfI0A" org.eventb.core.theorem="true"/>
<org.eventb.core.scParameter name="inst_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.parameter#_btHw0fqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scParameter name="p_mult_others" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.parameter#_btHw0vqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port×ℤ)"/>
<org.eventb.core.scAction name="inst_componenu)" org.eventb.core.assignment="p_multiplicity ≔ p_multiplicity(p_mult_others{pp⦂Port·pp∈(components;ports)[{Pat}] ∣ pp ↦ card(inst_ports[{pp}])})" org.eventb.core.label="p_mult" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btIX4PqwEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componenu*" org.eventb.core.assignment="inst2pat_p ≔ ∅ ⦂ ℙ(Port×Port)" org.eventb.core.label="inst2pat_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btJmA_qwEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componenu+" org.eventb.core.assignment="ports ≔ components[{Inst}] ⩤ ports" org.eventb.core.label="ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btJmCfqwEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componenu," org.eventb.core.assignment="to_unfold_p_in ≔ ∅ ⦂ ℙ(Port×Component)" org.eventb.core.label="unfold_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btJmCvqwEeectLZKwQfI0A"/>
<org.eventb.core.scAction name="inst_componenu-" org.eventb.core.assignment="p_index ≔ ∅ ⦂ ℙ(Port×ℤ)" org.eventb.core.label="p_index" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btKNEPqwEeectLZKwQfI0A"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_p_iq" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_root_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mProperty.bcm|org.eventb.core.scMachineFile#mProperty|org.eventb.core.scEvent#to_unfold_c_ip" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A|org.eventb.core.refinesEvent#_jNxEQAKyEeiAPf1wPUl3Gw"/>
<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"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="new_c_ty" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="new_c_fin" 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.theorem="true"/>
<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.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_index∪new_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_j" org.eventb.core.assignment="cProperties ≔ cProperties∪(ran(new_c) × cProperties[{c}])" org.eventb.core.label="prop" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A|org.eventb.core.action#_btIX4PqwEeectLZKwQfI0A"/>
<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_k" org.eventb.core.assignment="to_unfold_p_in ≔ to_unfold_p_in∪(ports[{c}] × ran(new_c))" org.eventb.core.label="unfold_p_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A|org.eventb.core.action#_btKNFfqwEeectLZKwQfI0A"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_p_ir" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_node_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mProperty.bcm|org.eventb.core.scMachineFile#mProperty|org.eventb.core.scEvent#to_unfold_c_iq" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A|org.eventb.core.refinesEvent#_LcQUcBKaEeqU6uo9ksjEPA"/>
<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"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="new_c_ty" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="new_c_fin" 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.theorem="true"/>
<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#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.guard#_O1Xm0vqmEeectLZKwQfI0A" org.eventb.core.theorem="true"/>
<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_index∪new_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_k" org.eventb.core.assignment="cProperties ≔ cProperties∪(ran(new_c) × cProperties[{c}])" org.eventb.core.label="prop" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A|org.eventb.core.action#_btJmA_qwEeectLZKwQfI0A"/>
<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_l" org.eventb.core.assignment="to_unfold_p_in ≔ to_unfold_p_in∪(ports[{c}] × ran(new_c))" org.eventb.core.label="unfold_p_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A|org.eventb.core.action#_GO3gcAK8EeiAPf1wPUl3Gw"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_p_is" org.eventb.core.accurate="true" org.eventb.core.convergence="1" org.eventb.core.extended="false" org.eventb.core.label="unfold_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A">
<org.eventb.core.scGuard name="'" org.eventb.core.label="p_ty" org.eventb.core.predicate="p ↦ c∈to_unfold_p_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw1_qwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="new_p_ty" org.eventb.core.predicate="new_p∈1 ‥ p_multiplicity(p) ↣ Port ∖ ran(components;ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw2PqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="duplicate_IPorts_direction" org.eventb.core.predicate="p∈IPort⇒ran(new_p)⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw2fqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="duplicate_OPorts_direction" org.eventb.core.predicate="p∈OPort⇒ran(new_p)⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-8_qwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.parameter#_btI-8vqwEeectLZKwQfI0A" org.eventb.core.type="Component"/>
<org.eventb.core.scParameter name="new_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.parameter#_btJmB_qwEeectLZKwQfI0A" org.eventb.core.type="ℙ(ℤ×Port)"/>
<org.eventb.core.scParameter name="p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.parameter#_btI-8fqwEeectLZKwQfI0A" org.eventb.core.type="Port"/>
<org.eventb.core.scAction name="new_q" org.eventb.core.assignment="ports ≔ ports∪({c} × ran(new_p))" org.eventb.core.label="new_p_component" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_YHf5cAUuEei9ocE08JsPSw"/>
<org.eventb.core.scAction name="new_r" org.eventb.core.assignment="to_unfold_p_in ≔ to_unfold_p_in ∖ {p ↦ c}" org.eventb.core.label="dp" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_YHiVsAUuEei9ocE08JsPSw"/>
<org.eventb.core.scAction name="new_s" org.eventb.core.assignment="inst2pat_p ≔ inst2pat_p∪(ran(new_p) × {p})" org.eventb.core.label="inst2pat_p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_YHiVsQUuEei9ocE08JsPSw"/>
<org.eventb.core.scAction name="new_t" org.eventb.core.assignment="p_index ≔ p_index∪new_p∼" org.eventb.core.label="p_index" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_f2PGEAspEeigQsLVMUeRQw"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_p_it" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="apply_pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mProperty.bcm|org.eventb.core.scMachineFile#mProperty|org.eventb.core.scEvent#to_unfold_c_ir" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.refinesEvent#_LcQ7gBKaEeqU6uo9ksjEPA"/>
<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="inst_componentw" org.eventb.core.label="inst_prop" 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.theorem="false"/>
<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_components∪new_components)∼;container;(inst_components∪new_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_components∪inst_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_componentx" org.eventb.core.assignment="cProperties ≔ cProperties∪((inst_components∪new_components)∼;cProperties;((id ⦂ ℙ(Property×Property))inst_props))" org.eventb.core.label="prop" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_bAhyggKxEeiAPf1wPUl3Gw"/>
<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.scParameter name="inst_props" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.parameter#_btHw0fqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Property×Property)"/>
<org.eventb.core.scGuard name="inst_componenty" org.eventb.core.label="ip" org.eventb.core.predicate="inst_ports∈(components;ports)[{Inst}] ⤔ (components;ports)[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9PqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componentz" org.eventb.core.label="mp_i" org.eventb.core.predicate="inst_ports[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9fqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component{" org.eventb.core.label="mp_o" org.eventb.core.predicate="inst_ports[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9vqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component|" org.eventb.core.label="ports_inst_rel_comp_inst" org.eventb.core.predicate="ports∼[dom(inst_ports)]⊆dom(inst_components)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9_qwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component}" org.eventb.core.label="ports_inst_rel_port_comp" org.eventb.core.predicate="inst_ports∼;ports∼;inst_components⊆ports∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI--PqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component~" org.eventb.core.label="np" org.eventb.core.predicate="new_ports∈(components;ports)[{Inst}] ∖ dom(inst_ports) ↣ Port ∖ ran(components;ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI--fqwEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu'" org.eventb.core.label="np_i" org.eventb.core.predicate="new_ports[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_knJVMAK2EeiAPf1wPUl3Gw" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu(" org.eventb.core.label="np_o" org.eventb.core.predicate="new_ports[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_OuP8ACxHEeiUbZrF94gIyA" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="inst_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.parameter#_btKNE_qwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scParameter name="new_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.parameter#_LNbVcAWLEei9ocE08JsPSw" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scAction name="inst_componenu)" org.eventb.core.assignment="ports ≔ ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports))" org.eventb.core.label="p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.action#_nVtZw_I8EemlHb-ZV1EcBQ"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_p_iu" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="apply_link_pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mProperty.bcm|org.eventb.core.scMachineFile#mProperty|org.eventb.core.scEvent#to_unfold_c_ir" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.refinesEvent#_YUG9oQKzEeiAPf1wPUl3Gw"/>
<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="inst_componentw" org.eventb.core.label="inst_prop" 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.theorem="false"/>
<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_components∪new_components)∼;container;(inst_components∪new_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_components∪inst_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_componentx" org.eventb.core.assignment="cProperties ≔ cProperties∪((inst_components∪new_components)∼;cProperties;((id ⦂ ℙ(Property×Property))inst_props))" org.eventb.core.label="prop" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_bAhyggKxEeiAPf1wPUl3Gw"/>
<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.scParameter name="inst_props" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.parameter#_btHw0fqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Property×Property)"/>
<org.eventb.core.scGuard name="inst_componenty" org.eventb.core.label="comp" org.eventb.core.predicate="comp∈components[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyuPI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componentz" org.eventb.core.label="comp_map" org.eventb.core.predicate="ran(inst_components)={comp}" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyufI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component{" org.eventb.core.label="src_subc" org.eventb.core.predicate="src_subc × {comp}⊆container" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyuvI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component|" org.eventb.core.label="dst_subc" org.eventb.core.predicate="dst_subc × {comp}⊆container" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyu_I8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component}" org.eventb.core.label="ip" org.eventb.core.predicate="src_ports∈(inst_components∼;ports ▷ IPort)[{comp}] ⤔ ports[src_subc]∩OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyvPI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_component~" org.eventb.core.label="op" org.eventb.core.predicate="dst_ports∈(inst_components∼;ports ▷ OPort)[{comp}] ⤔ ports[dst_subc]∩IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyvfI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu'" org.eventb.core.label="np" org.eventb.core.predicate="new_ports∈(components;ports)[{Inst}] ∖ (dom(src_ports)∪dom(src_ports)) ↣ Port ∖ ran(components;ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyvvI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu(" org.eventb.core.label="np_i" org.eventb.core.predicate="new_ports[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVtZwPI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="inst_componenu)" org.eventb.core.label="np_o" org.eventb.core.predicate="new_ports[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVtZwfI8EemlHb-ZV1EcBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="comp" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsysvI8EemlHb-ZV1EcBQ" org.eventb.core.type="Component"/>
<org.eventb.core.scParameter name="dst_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsytvI8EemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scParameter name="dst_subc" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsytPI8EemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scParameter name="new_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsyt_I8EemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scParameter name="src_ports" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsytfI8EemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.scParameter name="src_subc" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.parameter#_nVsys_I8EemlHb-ZV1EcBQ" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scAction name="inst_componenu*" org.eventb.core.assignment="ports ≔ ports∪((inst_components∪new_components)∼;ports;new_ports)" org.eventb.core.label="p" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.action#_LcSJoBKaEeqU6uo9ksjEPA"/>
</org.eventb.core.scEvent>
</org.eventb.core.scMachineFile>

751
Event-B/pseim/mPort.bpo

@ -0,0 +1,751 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.poFile org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="CTXHYP" org.eventb.core.poStamp="13">
<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.poIdentifier name="Port" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.poIdentifier name="IPort" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.poIdentifier name="OPort" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.poPredicate name="Componenu" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|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="inst2pat_p" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.poIdentifier name="p_index" org.eventb.core.type="ℙ(Port×ℤ)"/>
<org.eventb.core.poIdentifier name="p_multiplicity" org.eventb.core.type="ℙ(Port×ℤ)"/>
<org.eventb.core.poIdentifier name="ports" org.eventb.core.type="ℙ(Component×Port)"/>
<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.poIdentifier name="to_unfold_p_in" org.eventb.core.type="ℙ(Port×Component)"/>
<org.eventb.core.poPredicate name="to_unfold_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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_p_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.poPredicate name="to_unfold_p_jE" 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.poSequent name="FIN" org.eventb.core.accurate="true" org.eventb.core.poDesc="Finiteness of variant" org.eventb.core.poStamp="68">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="finite(to_unfold_p_in)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variant#_7pQu4Af5EeiFlqW-8GKglg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variant#_7pQu4Af5EeiFlqW-8GKglg"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/thm/THM" org.eventb.core.accurate="true" org.eventb.core.poDesc="Theorem" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTHYPto_unfold_p_ipinst_componenu'"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀p⦂Port·finite(inst_ports[{p}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw1vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw1vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTHYPto_unfold_p_ipinst_componenu'"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/port/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="components[{Inst}] ⩤ ports∈ran({Inst} ⩤ components) ↔ Port" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/port\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD0"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/port_finite/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀c⦂Component·finite((components[{Inst}] ⩤ ports)[{c}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RfqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RfqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/port_finite\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD1"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/port_not_shared/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(components[{Inst}] ⩤ ports)∼∈Port ⇸ Component" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RvqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RvqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/port_not_shared\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD2"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/p_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="p_multiplicity(p_mult_others{pp⦂Port·pp∈(components;ports)[{Pat}] ∣ pp ↦ card(inst_ports[{pp}])})∈({Inst} ⩤ components;(components[{Inst}] ⩤ ports))[Pattern] → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/p_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/to_unfold_p_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Port×Component))∈({Inst} ⩤ components;(components[{Inst}] ⩤ ports))[{Pat}] ↔ ({Inst} ⩤ components)[{Inst}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/to_unfold_p_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD4"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/inst2pat_p_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Port×Port))∈({Inst} ⩤ components;(components[{Inst}] ⩤ ports))[{Inst}] → ({Inst} ⩤ components;(components[{Inst}] ⩤ ports))[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/inst2pat_p_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD5"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/inst2pat_commp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Port×Port));(components[{Inst}] ⩤ ports)∼=(components[{Inst}] ⩤ ports)∼;(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/inst2pat_commp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD6"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/to_unfold_p_inst2pat/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ran(∅ ⦂ ℙ(Port×Component))⊆dom(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_ui7VEAFGEei9ocE08JsPSw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_ui7VEAFGEei9ocE08JsPSw"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/to_unfold_p_inst2pat\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD7"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/to_unfold_p_in_comp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Port×Component));(∅ ⦂ ℙ(Component×Component))⊆(components[{Inst}] ⩤ ports)∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/to_unfold_p_in_comp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/i2p_IPort/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Port×Port))[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_22_TUALCEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_22_TUALCEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/i2p_IPort\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD9"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/i2p_OPort/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Port×Port))[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFUfMAWQEei9ocE08JsPSw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFUfMAWQEei9ocE08JsPSw"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/i2p_OPort\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD10"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/p_index_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Port×ℤ))∈dom(∅ ⦂ ℙ(Port×Port)) → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFVGQAWQEei9ocE08JsPSw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFVGQAWQEei9ocE08JsPSw"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#instanciate_pattern\/p_index_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD11"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="instanciate_pattern/p_mult/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of action" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀pp⦂Port·pp∈(components;ports)[{Pat}]⇒finite(inst_ports[{pp}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btIX4PqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.action#_btIX4PqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ip"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_p_ip" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="69">
<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="inst_ports" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.poIdentifier name="p_multiplicity'" org.eventb.core.type="ℙ(Port×ℤ)"/>
<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="ports'" org.eventb.core.type="ℙ(Component×Port)"/>
<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_p'" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.poIdentifier name="to_unfold_p_in'" org.eventb.core.type="ℙ(Port×Component)"/>
<org.eventb.core.poIdentifier name="inst2pat_c'" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="p_index'" org.eventb.core.type="ℙ(Port×ℤ)"/>
<org.eventb.core.poIdentifier name="c_mult" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.poIdentifier name="p_mult_others" org.eventb.core.type="ℙ(Port×ℤ)"/>
<org.eventb.core.poIdentifier name="c_indexes'" org.eventb.core.type="ℙ(Component×ℙ(Component×ℤ))"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPto_unfold_p_ipinst_componenu'" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_p_ip" org.eventb.core.poStamp="0">
<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.poPredicate name="PRD4" org.eventb.core.predicate="inst_ports∈(components;ports)[{Pat}] ↔ (components;ports)[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw0_qwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="inst_ports∼∈(components;ports)[{Mdl}] ⇸ (components;ports)[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw1PqwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="p_mult_others∈(components;ports)[{Pat}] ∖ dom(inst_ports) → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw1fqwEeectLZKwQfI0A"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPto_unfold_p_ip" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTHYPto_unfold_p_ipinst_componenu'" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="∀p⦂Port·finite(inst_ports[{p}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#'|org.eventb.core.guard#_btHw1vqwEeectLZKwQfI0A"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="unfold_root_c/port/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iq"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ports∈ran(components∪({Inst} × ran(new_c))) ↔ Port" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_root_c\/port\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD0"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_root_c/p_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iq"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="p_multiplicity∈((components∪({Inst} × ran(new_c)));ports)[Pattern] → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_root_c\/p_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_root_c/to_unfold_p_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iq"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_p_in∪(ports[{c}] × ran(new_c))∈((components∪({Inst} × ran(new_c)));ports)[{Pat}] ↔ (components∪({Inst} × ran(new_c)))[{Inst}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_root_c\/to_unfold_p_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD4"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_root_c/inst2pat_p_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iq"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_p∈((components∪({Inst} × ran(new_c)));ports)[{Inst}] → ((components∪({Inst} × ran(new_c)));ports)[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_root_c\/inst2pat_p_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD5"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_root_c/inst2pat_commp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iq"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_p;ports∼=ports∼;(inst2pat_c∪(ran(new_c) × {c}))" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_root_c\/inst2pat_commp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD6"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_root_c/to_unfold_p_inst2pat/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iq"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ran(to_unfold_p_in∪(ports[{c}] × ran(new_c)))⊆dom(inst2pat_c∪(ran(new_c) × {c}))" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_ui7VEAFGEei9ocE08JsPSw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_ui7VEAFGEei9ocE08JsPSw"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_root_c\/to_unfold_p_inst2pat\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD7"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_root_c/to_unfold_p_in_comp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="69">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iq"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(to_unfold_p_in∪(ports[{c}] × ran(new_c)));(inst2pat_c∪(ran(new_c) × {c}))⊆ports∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_root_c\/to_unfold_p_in_comp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_p_iq" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
<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="to_unfold_p_in'" org.eventb.core.type="ℙ(Port×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_p_iq" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_p_iq" org.eventb.core.poStamp="0">
<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.poSequent name="unfold_node_c/port/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ir"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ports∈ran(components∪({Inst} × ran(new_c))) ↔ Port" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_node_c\/port\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD0"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_node_c/p_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ir"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="p_multiplicity∈((components∪({Inst} × ran(new_c)));ports)[Pattern] → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_node_c\/p_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_node_c/to_unfold_p_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ir"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_p_in∪(ports[{c}] × ran(new_c))∈((components∪({Inst} × ran(new_c)));ports)[{Pat}] ↔ (components∪({Inst} × ran(new_c)))[{Inst}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_node_c\/to_unfold_p_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD4"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_node_c/inst2pat_p_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ir"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_p∈((components∪({Inst} × ran(new_c)));ports)[{Inst}] → ((components∪({Inst} × ran(new_c)));ports)[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_node_c\/inst2pat_p_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD5"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_node_c/inst2pat_commp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ir"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_p;ports∼=ports∼;(inst2pat_c∪(ran(new_c) × {c}))" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_node_c\/inst2pat_commp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD6"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_node_c/to_unfold_p_inst2pat/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ir"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ran(to_unfold_p_in∪(ports[{c}] × ran(new_c)))⊆dom(inst2pat_c∪(ran(new_c) × {c}))" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_ui7VEAFGEei9ocE08JsPSw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_ui7VEAFGEei9ocE08JsPSw"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_node_c\/to_unfold_p_inst2pat\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD7"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_node_c/to_unfold_p_in_comp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_ir"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(to_unfold_p_in∪(ports[{c}] × ran(new_c)));(inst2pat_c∪(ran(new_c) × {c}))⊆ports∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_node_c\/to_unfold_p_in_comp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_p_ir" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="70">
<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="to_unfold_p_in'" org.eventb.core.type="ℙ(Port×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_p_ir" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_p_ir" org.eventb.core.poStamp="70">
<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.poSequent name="unfold_p/new_p_ty/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTHYPto_unfold_p_is'"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="p∈dom(p_multiplicity)∧p_multiplicity∈Port ⇸ ℤ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw2PqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw2PqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTHYPto_unfold_p_is'"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/port/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ports∪({c} × ran(new_p))∈ran(components) ↔ Port" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/port\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD0"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/port_finite/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀c0⦂Component·finite((ports∪({c} × ran(new_p)))[{c0}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RfqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RfqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/port_finite\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD1"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/port_not_shared/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(ports∪({c} × ran(new_p)))∼∈Port ⇸ Component" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RvqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RvqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/port_not_shared\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD2"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/p_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="p_multiplicity∈(components;(ports∪({c} × ran(new_p))))[Pattern] → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/p_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/to_unfold_p_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_p_in ∖ {p ↦ c}∈(components;(ports∪({c} × ran(new_p))))[{Pat}] ↔ components[{Inst}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/to_unfold_p_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD4"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/inst2pat_p_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_p∪(ran(new_p) × {p})∈(components;(ports∪({c} × ran(new_p))))[{Inst}] → (components;(ports∪({c} × ran(new_p))))[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/inst2pat_p_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD5"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/inst2pat_commp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(inst2pat_p∪(ran(new_p) × {p}));(ports∪({c} × ran(new_p)))∼=(ports∪({c} × ran(new_p)))∼;inst2pat_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/inst2pat_commp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD6"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/to_unfold_p_inst2pat/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ran(to_unfold_p_in ∖ {p ↦ c})⊆dom(inst2pat_c)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_ui7VEAFGEei9ocE08JsPSw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_ui7VEAFGEei9ocE08JsPSw"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/to_unfold_p_inst2pat\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD7"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/to_unfold_p_in_comp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(to_unfold_p_in ∖ {p ↦ c});inst2pat_c⊆(ports∪({c} × ran(new_p)))∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/to_unfold_p_in_comp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/i2p_IPort/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(inst2pat_p∪(ran(new_p) × {p}))[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_22_TUALCEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_22_TUALCEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/i2p_IPort\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD9"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/i2p_OPort/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(inst2pat_p∪(ran(new_p) × {p}))[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFUfMAWQEei9ocE08JsPSw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFUfMAWQEei9ocE08JsPSw"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/i2p_OPort\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD10"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/p_index_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="p_index∪new_p∼∈dom(inst2pat_p∪(ran(new_p) × {p})) → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFVGQAWQEei9ocE08JsPSw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFVGQAWQEei9ocE08JsPSw"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/p_index_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD11"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="unfold_p/VAR" org.eventb.core.accurate="true" org.eventb.core.poDesc="Variant of event" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_is"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_p_in ∖ {p ↦ c}⊂to_unfold_p_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variant#_7pQu4Af5EeiFlqW-8GKglg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.variant#_7pQu4Af5EeiFlqW-8GKglg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#unfold_p\/VAR|org.eventb.core.poPredicateSet#SEQHYP"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_p_is" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
<org.eventb.core.poIdentifier name="c" org.eventb.core.type="Component"/>
<org.eventb.core.poIdentifier name="ports'" org.eventb.core.type="ℙ(Component×Port)"/>
<org.eventb.core.poIdentifier name="inst2pat_p'" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.poIdentifier name="to_unfold_p_in'" org.eventb.core.type="ℙ(Port×Component)"/>
<org.eventb.core.poIdentifier name="p" org.eventb.core.type="Port"/>
<org.eventb.core.poIdentifier name="p_index'" org.eventb.core.type="ℙ(Port×ℤ)"/>
<org.eventb.core.poIdentifier name="new_p" org.eventb.core.type="ℙ(ℤ×Port)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPto_unfold_p_is'" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_p_is" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="p ↦ c∈to_unfold_p_in" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw1_qwEeectLZKwQfI0A"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPto_unfold_p_is" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTHYPto_unfold_p_is'" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="new_p∈1 ‥ p_multiplicity(p) ↣ Port ∖ ran(components;ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw2PqwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="p∈IPort⇒ran(new_p)⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btHw2fqwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="p∈OPort⇒ran(new_p)⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-8_qwEeectLZKwQfI0A"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="apply_pattern/port/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_it"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports))∈ran(components∪({Mdl} × ran(new_components))) ↔ Port" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_pattern\/port\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD0"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_pattern/port_finite/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_it"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀c⦂Component·finite((ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports)))[{c}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RfqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RfqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_pattern\/port_finite\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD1"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_pattern/port_not_shared/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_it"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports)))∼∈Port ⇸ Component" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RvqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RvqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_pattern\/port_not_shared\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD2"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_pattern/p_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_it"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="p_multiplicity∈((components∪({Mdl} × ran(new_components)));(ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports))))[Pattern] → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_pattern\/p_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_pattern/to_unfold_p_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_it"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_p_in∈((components∪({Mdl} × ran(new_components)));(ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports))))[{Pat}] ↔ (components∪({Mdl} × ran(new_components)))[{Inst}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_pattern\/to_unfold_p_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD4"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_pattern/inst2pat_p_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_it"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_p∈((components∪({Mdl} × ran(new_components)));(ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports))))[{Inst}] → ((components∪({Mdl} × ran(new_components)));(ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports))))[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_pattern\/inst2pat_p_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD5"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_pattern/inst2pat_commp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_it"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_p;(ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports)))∼=(ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports)))∼;inst2pat_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_pattern\/inst2pat_commp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD6"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_pattern/to_unfold_p_in_comp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_it"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_p_in;inst2pat_c⊆(ports∪((inst_components∪new_components)∼;ports;(inst_ports∪new_ports)))∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_pattern\/to_unfold_p_in_comp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_p_it" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
<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="new_ports" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.poIdentifier name="inst_ports" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.poIdentifier name="components'" org.eventb.core.type="ℙ(Model×Component)"/>
<org.eventb.core.poIdentifier name="ports'" org.eventb.core.type="ℙ(Component×Port)"/>
<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_p_it" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_p_it" org.eventb.core.poStamp="0">
<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.poPredicate name="PRD5" org.eventb.core.predicate="inst_ports∈(components;ports)[{Inst}] ⤔ (components;ports)[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9PqwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="inst_ports[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9fqwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="inst_ports[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9vqwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="ports∼[dom(inst_ports)]⊆dom(inst_components)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI-9_qwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="inst_ports∼;ports∼;inst_components⊆ports∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI--PqwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="new_ports∈(components;ports)[{Inst}] ∖ dom(inst_ports) ↣ Port ∖ ran(components;ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_btI--fqwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="new_ports[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_knJVMAK2EeiAPf1wPUl3Gw"/>
<org.eventb.core.poPredicate name="PRD12" org.eventb.core.predicate="new_ports[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_btKNGPqwEeectLZKwQfI0A|org.eventb.core.guard#_OuP8ACxHEeiUbZrF94gIyA"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="apply_link_pattern/port/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iu"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ports∪((inst_components∪new_components)∼;ports;new_ports)∈ran(components∪({Mdl} × ran(new_components))) ↔ Port" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_link_pattern\/port\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD0"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_link_pattern/port_finite/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iu"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀c⦂Component·finite((ports∪((inst_components∪new_components)∼;ports;new_ports))[{c}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RfqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RfqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_link_pattern\/port_finite\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD1"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_link_pattern/port_not_shared/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iu"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(ports∪((inst_components∪new_components)∼;ports;new_ports))∼∈Port ⇸ Component" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RvqeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RvqeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_link_pattern\/port_not_shared\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD2"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_link_pattern/p_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iu"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="p_multiplicity∈((components∪({Mdl} × ran(new_components)));(ports∪((inst_components∪new_components)∼;ports;new_ports)))[Pattern] → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_link_pattern\/p_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_link_pattern/to_unfold_p_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iu"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_p_in∈((components∪({Mdl} × ran(new_components)));(ports∪((inst_components∪new_components)∼;ports;new_ports)))[{Pat}] ↔ (components∪({Mdl} × ran(new_components)))[{Inst}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_link_pattern\/to_unfold_p_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD4"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_link_pattern/inst2pat_p_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iu"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_p∈((components∪({Mdl} × ran(new_components)));(ports∪((inst_components∪new_components)∼;ports;new_ports)))[{Inst}] → ((components∪({Mdl} × ran(new_components)));(ports∪((inst_components∪new_components)∼;ports;new_ports)))[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_link_pattern\/inst2pat_p_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD5"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_link_pattern/inst2pat_commp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iu"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_p;(ports∪((inst_components∪new_components)∼;ports;new_ports))∼=(ports∪((inst_components∪new_components)∼;ports;new_ports))∼;inst2pat_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_link_pattern\/inst2pat_commp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD6"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="apply_link_pattern/to_unfold_p_in_comp/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="70">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_p_iu"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_p_in;inst2pat_c⊆(ports∪((inst_components∪new_components)∼;ports;new_ports))∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poSequent#apply_link_pattern\/to_unfold_p_in_comp\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_p_iu" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
<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="new_ports" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.poIdentifier name="src_subc" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.poIdentifier name="comp" org.eventb.core.type="Component"/>
<org.eventb.core.poIdentifier name="components'" org.eventb.core.type="ℙ(Model×Component)"/>
<org.eventb.core.poIdentifier name="ports'" org.eventb.core.type="ℙ(Component×Port)"/>
<org.eventb.core.poIdentifier name="src_ports" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.poIdentifier name="dst_ports" org.eventb.core.type="ℙ(Port×Port)"/>
<org.eventb.core.poIdentifier name="new_components" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="dst_subc" org.eventb.core.type="ℙ(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_p_iu" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_p_iu" org.eventb.core.poStamp="0">
<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.poPredicate name="PRD5" org.eventb.core.predicate="comp∈components[{Mdl}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyuPI8EemlHb-ZV1EcBQ"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="ran(inst_components)={comp}" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyufI8EemlHb-ZV1EcBQ"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="src_subc × {comp}⊆container" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyuvI8EemlHb-ZV1EcBQ"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="dst_subc × {comp}⊆container" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyu_I8EemlHb-ZV1EcBQ"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="src_ports∈(inst_components∼;ports ▷ IPort)[{comp}] ⤔ ports[src_subc]∩OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyvPI8EemlHb-ZV1EcBQ"/>
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="dst_ports∈(inst_components∼;ports ▷ OPort)[{comp}] ⤔ ports[dst_subc]∩IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyvfI8EemlHb-ZV1EcBQ"/>
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="new_ports∈(components;ports)[{Inst}] ∖ (dom(src_ports)∪dom(src_ports)) ↣ Port ∖ ran(components;ports)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVsyvvI8EemlHb-ZV1EcBQ"/>
<org.eventb.core.poPredicate name="PRD12" org.eventb.core.predicate="new_ports[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVtZwPI8EemlHb-ZV1EcBQ"/>
<org.eventb.core.poPredicate name="PRD13" org.eventb.core.predicate="new_ports[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.event#_YUG9oAKzEeiAPf1wPUl3Gw|org.eventb.core.guard#_nVtZwfI8EemlHb-ZV1EcBQ"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/mPort.bpo|org.eventb.core.poFile#mPort|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="68">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="ports∈ran(components) ↔ Port" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RPqeEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="∀c⦂Component·finite(ports[{c}])" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RfqeEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="ports∼∈Port ⇸ Component" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_RvqeEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="p_multiplicity∈(components;ports)[Pattern] → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_0kf_R_qeEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="to_unfold_p_in∈(components;ports)[{Pat}] ↔ components[{Inst}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_btIX4vqwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="inst2pat_p∈(components;ports)[{Inst}] → (components;ports)[{Pat}]" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zYW3EfqwEeectLZKwQfI0A"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="inst2pat_p;ports∼=ports∼;inst2pat_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_F0IYkPriEeerIsS6OyYQ4w"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="ran(to_unfold_p_in)⊆dom(inst2pat_c)" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_ui7VEAFGEei9ocE08JsPSw"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="to_unfold_p_in;inst2pat_c⊆ports∼" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_zY448gK7EeiAPf1wPUl3Gw"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="inst2pat_p[IPort]⊆IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_22_TUALCEeiAPf1wPUl3Gw"/>
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="inst2pat_p[OPort]⊆OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFUfMAWQEei9ocE08JsPSw"/>
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="p_index∈dom(inst2pat_p) → ℕ" org.eventb.core.source="/MODELS_INC_V9_VAR/mPort.bum|org.eventb.core.machineFile#mPort|org.eventb.core.invariant#_QFVGQAWQEei9ocE08JsPSw"/>
</org.eventb.core.poPredicateSet>
</org.eventb.core.poFile>

8560
Event-B/pseim/mPort.bpr

File diff suppressed because it is too large Load Diff

62
Event-B/pseim/mPort.bps

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.psFile>
<org.eventb.core.psStatus name="FIN" org.eventb.core.confidence="0" org.eventb.core.poStamp="68" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/thm/THM" org.eventb.core.confidence="0" org.eventb.core.poStamp="69" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/port/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/port_finite/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/port_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/p_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="instanciate_pattern/to_unfold_p_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/inst2pat_p_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psBroken="true" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/inst2pat_commp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/to_unfold_p_inst2pat/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/to_unfold_p_in_comp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/i2p_IPort/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/i2p_OPort/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/p_index_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="instanciate_pattern/p_mult/WD" org.eventb.core.confidence="0" org.eventb.core.poStamp="69" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/port/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/p_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/to_unfold_p_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/inst2pat_p_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/inst2pat_commp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_root_c/to_unfold_p_inst2pat/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_root_c/to_unfold_p_in_comp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="69" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/port/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/p_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/to_unfold_p_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/inst2pat_p_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/inst2pat_commp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_node_c/to_unfold_p_inst2pat/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_node_c/to_unfold_p_in_comp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/new_p_ty/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/port/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/port_finite/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="70" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_p/port_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/p_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/to_unfold_p_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_p/inst2pat_p_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/inst2pat_commp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/to_unfold_p_inst2pat/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_p/to_unfold_p_in_comp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_p/i2p_IPort/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_p/i2p_OPort/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="unfold_p/p_index_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="unfold_p/VAR" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/port/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/port_finite/INV" org.eventb.core.confidence="0" org.eventb.core.poStamp="70" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="apply_pattern/port_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/p_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/to_unfold_p_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/inst2pat_p_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/inst2pat_commp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_pattern/to_unfold_p_in_comp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/port/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/port_finite/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/port_not_shared/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/p_mult/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/to_unfold_p_in/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/inst2pat_p_ty/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/inst2pat_commp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
<org.eventb.core.psStatus name="apply_link_pattern/to_unfold_p_in_comp/INV" org.eventb.core.confidence="1000" org.eventb.core.poStamp="70" org.eventb.core.psManual="true"/>
</org.eventb.core.psFile>

82
Event-B/pseim/mPort.bum

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.machineFile org.eventb.core.configuration="org.eventb.core.fwd;de.prob.units.mchBase" org.eventb.texttools.text_lastmodified="1522339509396" org.eventb.texttools.text_representation="machine mPort refines mProperty sees cPort&#10;&#10;variables components container c_multiplicity to_clone_c c_index to_unfold_c to_unfold_c_in inst2pat_c cProperties ports p_multiplicity p_index to_unfold_p_in inst2pat_p&#10;&#10;invariants&#10; @port ports ∈ ran(components) ↔ Port&#10; @port_finite ∀c·finite(ports[{c}])&#10; @port_not_shared ports∼ ∈ Port ⇸ Component&#10; @p_mult p_multiplicity ∈ (components;ports)[Pattern] → ℕ&#10; @to_unfold_p_in to_unfold_p_in ∈ (components;ports)[{Pat}] ↔ components[{Inst}]&#10; @inst2pat_p_ty inst2pat_p ∈ (components;ports)[{Inst}] → (components;ports)[{Pat}]&#10; @inst2pat_commp inst2pat_p;ports∼ = ports∼;inst2pat_c&#10; @to_unfold_p_inst2pat ran(to_unfold_p_in) ⊆ dom(inst2pat_c)&#10; @to_unfold_p_in_comp to_unfold_p_in;inst2pat_c ⊆ ports∼&#10; @i2p_IPort inst2pat_p[IPort] ⊆ IPort&#10; @i2p_OPort inst2pat_p[OPort] ⊆ OPort&#10; @p_index_ty p_index ∈ dom(inst2pat_p) → ℕ&#10;&#10;variant to_unfold_p_in&#10;&#10;events&#10; event instanciate_pattern extends instanciate_pattern&#10; any inst_ports p_mult_others&#10; where&#10; @ip inst_ports ∈ (components;ports)[{Pat}] ↔ (components;ports)[{Mdl}]&#10; @ipr inst_ports∼ ∈ (components;ports)[{Mdl}] ⇸ (components;ports)[{Pat}]&#10; @pm p_mult_others ∈ (components;ports)[{Pat}] ∖ dom(inst_ports) → ℕ&#10; theorem @thm ∀p· finite(inst_ports[{p}])&#10; then&#10; @p_mult p_multiplicity ≔ p_multiplicity (p_mult_others {pp·pp∈(components;ports)[{Pat}] ∣ pp ↦ card(inst_ports[{pp}])})&#10; @inst2pat_p inst2pat_p ≔ ∅&#10; @ports ports ≔ (components[{Inst}]) ⩤ ports&#10; @unfold_p to_unfold_p_in ≔ ∅&#10; @p_index p_index ≔ ∅&#10; end&#10;&#10; event unfold_root_c extends unfold_root_c&#10; end&#10;&#10; event clone_c extends clone_c&#10; then&#10; @unfold_p_in to_unfold_p_in ≔ to_unfold_p_in ∪ (ports[{to_clone_c(c)}] × {c})&#10; end&#10;&#10; event unfold_node_c extends unfold_node_c&#10; end&#10;&#10; convergent event unfold_p&#10; any p // port to unfold&#10; c // target component&#10; new_p // replicated ports&#10;&#10; where&#10; @p_ty p ↦ c ∈ to_unfold_p_in&#10; @new_p_ty new_p ∈ 1‥p_multiplicity(p) ↣ Port ∖ ran(components;ports)&#10; @duplicate_IPorts_direction p ∈ IPort ⇒ ran(new_p) ⊆ IPort&#10; @duplicate_OPorts_direction p ∈ OPort ⇒ ran(new_p) ⊆ OPort&#10; then&#10; @new_p_component ports ≔ ports ∪ ({c} × ran(new_p))&#10; @dp to_unfold_p_in ≔ to_unfold_p_in ∖ {p↦c}&#10; @inst2pat_p inst2pat_p ≔ inst2pat_p ∪ (ran(new_p) × {p})&#10; @p_index p_index ≔ p_index ∪ new_p∼&#10; end&#10;&#10; event apply_pattern extends apply_pattern&#10; any inst_ports new_ports&#10; where&#10; @ip inst_ports ∈ (components;ports)[{Inst}] ⤔ (components;ports)[{Mdl}]&#10; @mp_i inst_ports[IPort] ⊆ IPort&#10; @mp_o inst_ports[OPort] ⊆ OPort&#10; @ports_inst_rel_comp_inst ports∼[dom(inst_ports)] ⊆ dom(inst_components) // Les ports instanciés sont des ports de composants instanciés&#10; @ports_inst_rel_port_comp inst_ports∼;ports∼;inst_components ⊆ ports∼&#10; @np new_ports ∈ (components;ports)[{Inst}] ∖ dom(inst_ports) ↣ Port ∖ ran(components;ports)&#10; @np_i new_ports[IPort] ⊆ IPort&#10; @np_o new_ports[OPort] ⊆ OPort&#10; then&#10; @c ports ≔ ports ∪ ((inst_components ∪ new_components)∼;ports;(inst_ports ∪ new_ports))&#10; end&#10;end&#10;" version="5"> <org.eventb.core.machineFile org.eventb.core.configuration="org.eventb.core.fwd;de.prob.units.mchBase" org.eventb.texttools.text_lastmodified="1575026476482" org.eventb.texttools.text_representation="machine mPort refines mProperty sees cPort&#10;&#10;variables components container containers c_multiplicity c_index to_unfold_c to_unfold_c_in inst2pat_c cProperties M P c_indexes ports p_multiplicity p_index to_unfold_p_in inst2pat_p&#10;&#10;invariants&#10; @port ports ∈ ran(components) ↔ Port&#10; @port_finite ∀c·finite(ports[{c}])&#10; @port_not_shared ports∼ ∈ Port ⇸ Component&#10; @p_mult p_multiplicity ∈ (components;ports)[Pattern] → ℕ&#10; @to_unfold_p_in to_unfold_p_in ∈ (components;ports)[{Pat}] ↔ components[{Inst}]&#10; @inst2pat_p_ty inst2pat_p ∈ (components;ports)[{Inst}] → (components;ports)[{Pat}]&#10; @inst2pat_commp inst2pat_p;ports∼ = ports∼;inst2pat_c&#10; @to_unfold_p_inst2pat ran(to_unfold_p_in) ⊆ dom(inst2pat_c)&#10; @to_unfold_p_in_comp to_unfold_p_in;inst2pat_c ⊆ ports∼&#10; @i2p_IPort inst2pat_p[IPort] ⊆ IPort&#10; @i2p_OPort inst2pat_p[OPort] ⊆ OPort&#10; @p_index_ty p_index ∈ dom(inst2pat_p) → ℕ&#10;&#10;variant to_unfold_p_in&#10;&#10;events&#10; event instanciate_pattern extends instanciate_pattern&#10; any inst_ports p_mult_others&#10; where&#10; @ip inst_ports ∈ (components;ports)[{Pat}] ↔ (components;ports)[{Mdl}]&#10; @ipr inst_ports∼ ∈ (components;ports)[{Mdl}] ⇸ (components;ports)[{Pat}]&#10; @pm p_mult_others ∈ (components;ports)[{Pat}] ∖ dom(inst_ports) → ℕ&#10; theorem @thm ∀p· finite(inst_ports[{p}])&#10; then&#10; @p_mult p_multiplicity ≔ p_multiplicity (p_mult_others {pp·pp∈(components;ports)[{Pat}] ∣ pp ↦ card(inst_ports[{pp}])})&#10; @inst2pat_p inst2pat_p ≔ ∅&#10; @ports ports ≔ (components[{Inst}]) ⩤ ports&#10; @unfold_p to_unfold_p_in ≔ ∅&#10; @p_index p_index ≔ ∅&#10; end&#10;&#10; event unfold_root_c extends unfold_root_c&#10; then&#10;&#9;@unfold_p_in to_unfold_p_in ≔ to_unfold_p_in ∪ (ports[{c}] × ran(new_c))&#10; end&#10;&#10; event unfold_node_c extends unfold_node_c&#10; then&#10;&#9;@unfold_p_in to_unfold_p_in ≔ to_unfold_p_in ∪ (ports[{c}] × ran(new_c))&#10; end&#10;&#10; convergent event unfold_p&#10; any p // port to unfold&#10; c // target component&#10; new_p // replicated ports&#10;&#10; where&#10; @p_ty p ↦ c ∈ to_unfold_p_in&#10; @new_p_ty new_p ∈ 1‥p_multiplicity(p) ↣ Port ∖ ran(components;ports)&#10; @duplicate_IPorts_direction p ∈ IPort ⇒ ran(new_p) ⊆ IPort&#10; @duplicate_OPorts_direction p ∈ OPort ⇒ ran(new_p) ⊆ OPort&#10; then&#10; @new_p_component ports ≔ ports ∪ ({c} × ran(new_p))&#10; @dp to_unfold_p_in ≔ to_unfold_p_in ∖ {p↦c}&#10; @inst2pat_p inst2pat_p ≔ inst2pat_p ∪ (ran(new_p) × {p})&#10; @p_index p_index ≔ p_index ∪ new_p∼&#10; end&#10;&#10; event apply_pattern extends apply_pattern&#10; any inst_ports new_ports&#10; where&#10; @ip inst_ports ∈ (components;ports)[{Inst}] ⤔ (components;ports)[{Mdl}]&#10; @mp_i inst_ports[IPort] ⊆ IPort&#10; @mp_o inst_ports[OPort] ⊆ OPort&#10; @ports_inst_rel_comp_inst ports∼[dom(inst_ports)] ⊆ dom(inst_components) // Les ports instanciés sont des ports de composants instanciés&#10; @ports_inst_rel_port_comp inst_ports∼;ports∼;inst_components ⊆ ports∼&#10; @np new_ports ∈ (components;ports)[{Inst}] ∖ dom(inst_ports) ↣ Port ∖ ran(components;ports)&#10; @np_i new_ports[IPort] ⊆ IPort&#10; @np_o new_ports[OPort] ⊆ OPort&#10; then&#10; @p ports ≔ ports ∪ ((inst_components ∪ new_components)∼;ports;(inst_ports ∪ new_ports))&#10; end&#10;&#10; event apply_link_pattern extends apply_pattern&#10; any comp src_subc dst_subc src_ports dst_ports new_ports&#10; where&#10; @comp comp ∈ components[{Mdl}]&#10; @comp_map ran( inst_components) = {comp}&#10; @src_subc src_subc × {comp} ⊆ container&#10; @dst_subc dst_subc × {comp} ⊆ container&#10; @ip src_ports ∈ (inst_components∼;ports▷IPort)[{comp}] ⤔ ports[src_subc] ∩ OPort&#10; @op dst_ports ∈ (inst_components∼;ports▷OPort)[{comp}] ⤔ ports[dst_subc] ∩ IPort&#10; @np new_ports ∈ (components;ports)[{Inst}] ∖ (dom(src_ports) ∪ dom(src_ports)) ↣ Port ∖ ran(components;ports)&#10; @np_i new_ports[IPort] ⊆ IPort&#10; @np_o new_ports[OPort] ⊆ OPort&#10; then&#10; @p ports ≔ ports ∪ ((inst_components ∪ new_components)∼;ports;new_ports)&#10; end&#10;end&#10;" version="5">
<org.eventb.core.refinesMachine name="_gbAPMADlEei-meqqkXX9bA" org.eventb.core.target="mProperty"/> <org.eventb.core.refinesMachine name="_gbAPMADlEei-meqqkXX9bA" org.eventb.core.target="mProperty"/>
<org.eventb.core.seesContext name="_0kfYMfqeEeectLZKwQfI0A" org.eventb.core.target="cPort"/> <org.eventb.core.seesContext name="_0kfYMfqeEeectLZKwQfI0A" org.eventb.core.target="cPort"/>
<org.eventb.core.event name="'" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="instanciate_pattern"> <org.eventb.core.event name="'" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="instanciate_pattern">
@ -18,8 +18,8 @@
</org.eventb.core.event> </org.eventb.core.event>
<org.eventb.core.variable name="_0kf_QPqeEeectLZKwQfI0A" org.eventb.core.identifier="components"/> <org.eventb.core.variable name="_0kf_QPqeEeectLZKwQfI0A" org.eventb.core.identifier="components"/>
<org.eventb.core.variable name="_0kf_QfqeEeectLZKwQfI0A" org.eventb.core.identifier="container"/> <org.eventb.core.variable name="_0kf_QfqeEeectLZKwQfI0A" org.eventb.core.identifier="container"/>
<org.eventb.core.variable name="_0kf_QvqeEeectLZKwQfI0A" org.eventb.core.identifier="c_multiplicity"/> <org.eventb.core.variable name="_0kf_QvqeEeectLZKwQfI0A" org.eventb.core.identifier="containers"/>
<org.eventb.core.variable name="_0kf_Q_qeEeectLZKwQfI0A" org.eventb.core.identifier="to_clone_c"/> <org.eventb.core.variable name="_0kf_Q_qeEeectLZKwQfI0A" org.eventb.core.identifier="c_multiplicity"/>
<org.eventb.core.invariant name="_0kf_RPqeEeectLZKwQfI0A" org.eventb.core.label="port" org.eventb.core.predicate="ports ∈ ran(components) ↔ Port"/> <org.eventb.core.invariant name="_0kf_RPqeEeectLZKwQfI0A" org.eventb.core.label="port" org.eventb.core.predicate="ports ∈ ran(components) ↔ Port"/>
<org.eventb.core.invariant name="_0kf_RfqeEeectLZKwQfI0A" org.eventb.core.label="port_finite" org.eventb.core.predicate="∀c·finite(ports[{c}])"/> <org.eventb.core.invariant name="_0kf_RfqeEeectLZKwQfI0A" org.eventb.core.label="port_finite" org.eventb.core.predicate="∀c·finite(ports[{c}])"/>
<org.eventb.core.invariant name="_0kf_RvqeEeectLZKwQfI0A" org.eventb.core.label="port_not_shared" org.eventb.core.predicate="ports∼ ∈ Port ⇸ Component"/> <org.eventb.core.invariant name="_0kf_RvqeEeectLZKwQfI0A" org.eventb.core.label="port_not_shared" org.eventb.core.predicate="ports∼ ∈ Port ⇸ Component"/>
@ -28,40 +28,29 @@
<org.eventb.core.invariant name="_btIX4vqwEeectLZKwQfI0A" org.eventb.core.label="to_unfold_p_in" org.eventb.core.predicate="to_unfold_p_in ∈ (components;ports)[{Pat}] ↔ components[{Inst}]"/> <org.eventb.core.invariant name="_btIX4vqwEeectLZKwQfI0A" org.eventb.core.label="to_unfold_p_in" org.eventb.core.predicate="to_unfold_p_in ∈ (components;ports)[{Pat}] ↔ components[{Inst}]"/>
<org.eventb.core.event name="_btIX4_qwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_root_c"> <org.eventb.core.event name="_btIX4_qwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_root_c">
<org.eventb.core.refinesEvent name="_jNxEQAKyEeiAPf1wPUl3Gw" org.eventb.core.target="unfold_root_c"/> <org.eventb.core.refinesEvent name="_jNxEQAKyEeiAPf1wPUl3Gw" org.eventb.core.target="unfold_root_c"/>
<org.eventb.core.action name="_btKNFfqwEeectLZKwQfI0A" org.eventb.core.assignment="to_unfold_p_in ≔ to_unfold_p_in ∪ (ports[{c}] × ran(new_c))" org.eventb.core.label="unfold_p_in"/>
</org.eventb.core.event> </org.eventb.core.event>
<org.eventb.core.event name="_btJmBfqwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="clone_c"> <org.eventb.core.event name="_btJmBfqwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_node_c">
<org.eventb.core.refinesEvent name="_SDieEP06Eees7pYemx4WBQ" org.eventb.core.target="clone_c"/> <org.eventb.core.refinesEvent name="_LcQUcBKaEeqU6uo9ksjEPA" org.eventb.core.target="unfold_node_c"/>
<org.eventb.core.action name="_btKNFfqwEeectLZKwQfI0A" org.eventb.core.assignment="to_unfold_p_in ≔ to_unfold_p_in ∪ (ports[{to_clone_c(c)}] × {c})" org.eventb.core.label="unfold_p_in"/> <org.eventb.core.action name="_GO3gcAK8EeiAPf1wPUl3Gw" org.eventb.core.assignment="to_unfold_p_in ≔ to_unfold_p_in ∪ (ports[{c}] × ran(new_c))" org.eventb.core.label="unfold_p_in"/>
</org.eventb.core.event> </org.eventb.core.event>
<org.eventb.core.event name="_btKNEfqwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_node_c"> <org.eventb.core.event name="_btKNEfqwEeectLZKwQfI0A" org.eventb.core.convergence="1" org.eventb.core.extended="false" org.eventb.core.label="unfold_p">
<org.eventb.core.refinesEvent name="_YT9zsAKzEeiAPf1wPUl3Gw" org.eventb.core.target="unfold_node_c"/>
</org.eventb.core.event>
<org.eventb.core.event name="_btKNGPqwEeectLZKwQfI0A" org.eventb.core.convergence="1" org.eventb.core.extended="false" org.eventb.core.label="unfold_p">
<org.eventb.core.parameter name="_btI-8fqwEeectLZKwQfI0A" org.eventb.core.comment="port to unfold" org.eventb.core.identifier="p"/> <org.eventb.core.parameter name="_btI-8fqwEeectLZKwQfI0A" org.eventb.core.comment="port to unfold" org.eventb.core.identifier="p"/>
<org.eventb.core.parameter name="_btI-8vqwEeectLZKwQfI0A" org.eventb.core.comment="target component" org.eventb.core.identifier="c"/> <org.eventb.core.parameter name="_btI-8vqwEeectLZKwQfI0A" org.eventb.core.comment="target component" org.eventb.core.identifier="c"/>
<org.eventb.core.parameter name="_btJmB_qwEeectLZKwQfI0A" org.eventb.core.comment="replicated ports" org.eventb.core.identifier="new_p"/>
<org.eventb.core.guard name="_btHw1_qwEeectLZKwQfI0A" org.eventb.core.label="p_ty" org.eventb.core.predicate="p ↦ c ∈ to_unfold_p_in"/> <org.eventb.core.guard name="_btHw1_qwEeectLZKwQfI0A" org.eventb.core.label="p_ty" org.eventb.core.predicate="p ↦ c ∈ to_unfold_p_in"/>
<org.eventb.core.guard name="_btHw2PqwEeectLZKwQfI0A" org.eventb.core.label="new_p_ty" org.eventb.core.predicate="new_p ∈ 1‥p_multiplicity(p) ↣ Port ∖ ran(components;ports)"/> <org.eventb.core.guard name="_btHw2PqwEeectLZKwQfI0A" org.eventb.core.label="new_p_ty" org.eventb.core.predicate="new_p ∈ 1‥p_multiplicity(p) ↣ Port ∖ ran(components;ports)"/>
<org.eventb.core.guard name="_btHw2fqwEeectLZKwQfI0A" org.eventb.core.label="duplicate_IPorts_direction" org.eventb.core.predicate="p ∈ IPort ⇒ ran(new_p) ⊆ IPort"/> <org.eventb.core.guard name="_btHw2fqwEeectLZKwQfI0A" org.eventb.core.label="duplicate_IPorts_direction" org.eventb.core.predicate="p ∈ IPort ⇒ ran(new_p) ⊆ IPort"/>
<org.eventb.core.action name="_GO3gcAK8EeiAPf1wPUl3Gw" org.eventb.core.assignment="ports ≔ ports ∪ ({c} × ran(new_p))" org.eventb.core.label="new_p_component"/>
<org.eventb.core.action name="_YHf5cAUuEei9ocE08JsPSw" org.eventb.core.assignment="to_unfold_p_in ≔ to_unfold_p_in ∖ {p↦c}" org.eventb.core.label="dp"/>
<org.eventb.core.parameter name="_btJmB_qwEeectLZKwQfI0A" org.eventb.core.comment="replicated ports" org.eventb.core.identifier="new_p"/>
<org.eventb.core.action name="_YHiVsAUuEei9ocE08JsPSw" org.eventb.core.assignment="inst2pat_p ≔ inst2pat_p ∪ (ran(new_p) × {p})" org.eventb.core.label="inst2pat_p"/>
<org.eventb.core.action name="_YHiVsQUuEei9ocE08JsPSw" org.eventb.core.assignment="p_index ≔ p_index ∪ new_p∼" org.eventb.core.label="p_index"/>
<org.eventb.core.guard name="_btI-8_qwEeectLZKwQfI0A" org.eventb.core.label="duplicate_OPorts_direction" org.eventb.core.predicate="p ∈ OPort ⇒ ran(new_p) ⊆ OPort"/> <org.eventb.core.guard name="_btI-8_qwEeectLZKwQfI0A" org.eventb.core.label="duplicate_OPorts_direction" org.eventb.core.predicate="p ∈ OPort ⇒ ran(new_p) ⊆ OPort"/>
<org.eventb.core.action name="_YHf5cAUuEei9ocE08JsPSw" org.eventb.core.assignment="ports ≔ ports ∪ ({c} × ran(new_p))" org.eventb.core.label="new_p_component"/>
<org.eventb.core.action name="_YHiVsAUuEei9ocE08JsPSw" org.eventb.core.assignment="to_unfold_p_in ≔ to_unfold_p_in ∖ {p↦c}" org.eventb.core.label="dp"/>
<org.eventb.core.action name="_YHiVsQUuEei9ocE08JsPSw" org.eventb.core.assignment="inst2pat_p ≔ inst2pat_p ∪ (ran(new_p) × {p})" org.eventb.core.label="inst2pat_p"/>
<org.eventb.core.action name="_f2PGEAspEeigQsLVMUeRQw" org.eventb.core.assignment="p_index ≔ p_index ∪ new_p∼" org.eventb.core.label="p_index"/>
</org.eventb.core.event> </org.eventb.core.event>
<org.eventb.core.variable name="_zYW3EPqwEeectLZKwQfI0A" org.eventb.core.identifier="to_unfold_c"/> <org.eventb.core.event name="_btKNGPqwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="apply_pattern">
<org.eventb.core.invariant name="_zYW3EfqwEeectLZKwQfI0A" org.eventb.core.label="inst2pat_p_ty" org.eventb.core.predicate="inst2pat_p ∈ (components;ports)[{Inst}] → (components;ports)[{Pat}]"/> <org.eventb.core.refinesEvent name="_LcQ7gBKaEeqU6uo9ksjEPA" org.eventb.core.target="apply_pattern"/>
<org.eventb.core.variable name="_ANiZwPqxEeectLZKwQfI0A" org.eventb.core.identifier="to_unfold_c_in"/>
<org.eventb.core.variable name="_JtPOYPqxEeectLZKwQfI0A" org.eventb.core.identifier="inst2pat_c"/>
<org.eventb.core.variable name="_jRoOoPqxEeectLZKwQfI0A" org.eventb.core.identifier="cProperties"/>
<org.eventb.core.variable name="_oU9JIPqyEeectLZKwQfI0A" org.eventb.core.identifier="ports"/>
<org.eventb.core.invariant name="_F0IYkPriEeerIsS6OyYQ4w" org.eventb.core.label="inst2pat_commp" org.eventb.core.predicate="inst2pat_p;ports∼ = ports∼;inst2pat_c"/>
<org.eventb.core.variable name="_6RL9kAA2EeictLZKwQfI0A" org.eventb.core.identifier="p_multiplicity"/>
<org.eventb.core.variable name="_h1eCEADlEei-meqqkXX9bA" org.eventb.core.identifier="p_index"/>
<org.eventb.core.invariant name="_ui7VEAFGEei9ocE08JsPSw" org.eventb.core.label="to_unfold_p_inst2pat" org.eventb.core.predicate="ran(to_unfold_p_in) ⊆ dom(inst2pat_c)"/>
<org.eventb.core.event name="_YUG9oAKzEeiAPf1wPUl3Gw" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="apply_pattern">
<org.eventb.core.refinesEvent name="_YUG9oQKzEeiAPf1wPUl3Gw" org.eventb.core.target="apply_pattern"/>
<org.eventb.core.parameter name="_btKNE_qwEeectLZKwQfI0A" org.eventb.core.identifier="inst_ports"/> <org.eventb.core.parameter name="_btKNE_qwEeectLZKwQfI0A" org.eventb.core.identifier="inst_ports"/>
<org.eventb.core.parameter name="_LNbVcAWLEei9ocE08JsPSw" org.eventb.core.identifier="new_ports"/>
<org.eventb.core.guard name="_btI-9PqwEeectLZKwQfI0A" org.eventb.core.label="ip" org.eventb.core.predicate="inst_ports ∈ (components;ports)[{Inst}] ⤔ (components;ports)[{Mdl}]"/> <org.eventb.core.guard name="_btI-9PqwEeectLZKwQfI0A" org.eventb.core.label="ip" org.eventb.core.predicate="inst_ports ∈ (components;ports)[{Inst}] ⤔ (components;ports)[{Mdl}]"/>
<org.eventb.core.guard name="_btI-9fqwEeectLZKwQfI0A" org.eventb.core.label="mp_i" org.eventb.core.predicate="inst_ports[IPort] ⊆ IPort"/> <org.eventb.core.guard name="_btI-9fqwEeectLZKwQfI0A" org.eventb.core.label="mp_i" org.eventb.core.predicate="inst_ports[IPort] ⊆ IPort"/>
<org.eventb.core.guard name="_btI-9vqwEeectLZKwQfI0A" org.eventb.core.label="mp_o" org.eventb.core.predicate="inst_ports[OPort] ⊆ OPort"/> <org.eventb.core.guard name="_btI-9vqwEeectLZKwQfI0A" org.eventb.core.label="mp_o" org.eventb.core.predicate="inst_ports[OPort] ⊆ OPort"/>
@ -69,15 +58,46 @@
<org.eventb.core.guard name="_btI--PqwEeectLZKwQfI0A" org.eventb.core.label="ports_inst_rel_port_comp" org.eventb.core.predicate="inst_ports∼;ports∼;inst_components ⊆ ports∼"/> <org.eventb.core.guard name="_btI--PqwEeectLZKwQfI0A" org.eventb.core.label="ports_inst_rel_port_comp" org.eventb.core.predicate="inst_ports∼;ports∼;inst_components ⊆ ports∼"/>
<org.eventb.core.guard name="_btI--fqwEeectLZKwQfI0A" org.eventb.core.label="np" org.eventb.core.predicate="new_ports ∈ (components;ports)[{Inst}] ∖ dom(inst_ports) ↣ Port ∖ ran(components;ports)"/> <org.eventb.core.guard name="_btI--fqwEeectLZKwQfI0A" org.eventb.core.label="np" org.eventb.core.predicate="new_ports ∈ (components;ports)[{Inst}] ∖ dom(inst_ports) ↣ Port ∖ ran(components;ports)"/>
<org.eventb.core.guard name="_knJVMAK2EeiAPf1wPUl3Gw" org.eventb.core.label="np_i" org.eventb.core.predicate="new_ports[IPort] ⊆ IPort"/> <org.eventb.core.guard name="_knJVMAK2EeiAPf1wPUl3Gw" org.eventb.core.label="np_i" org.eventb.core.predicate="new_ports[IPort] ⊆ IPort"/>
<org.eventb.core.parameter name="_LNbVcAWLEei9ocE08JsPSw" org.eventb.core.identifier="new_ports"/>
<org.eventb.core.action name="_f2PGEAspEeigQsLVMUeRQw" org.eventb.core.assignment="ports ≔ ports ∪ ((inst_components ∪ new_components)∼;ports;(inst_ports ∪ new_ports))" org.eventb.core.label="c"/>
<org.eventb.core.guard name="_OuP8ACxHEeiUbZrF94gIyA" org.eventb.core.label="np_o" org.eventb.core.predicate="new_ports[OPort] ⊆ OPort"/> <org.eventb.core.guard name="_OuP8ACxHEeiUbZrF94gIyA" org.eventb.core.label="np_o" org.eventb.core.predicate="new_ports[OPort] ⊆ OPort"/>
<org.eventb.core.action name="_nVtZw_I8EemlHb-ZV1EcBQ" org.eventb.core.assignment="ports ≔ ports ∪ ((inst_components ∪ new_components)∼;ports;(inst_ports ∪ new_ports))" org.eventb.core.label="p"/>
</org.eventb.core.event>
<org.eventb.core.variable name="_zYW3EPqwEeectLZKwQfI0A" org.eventb.core.identifier="to_unfold_c"/>
<org.eventb.core.invariant name="_zYW3EfqwEeectLZKwQfI0A" org.eventb.core.label="inst2pat_p_ty" org.eventb.core.predicate="inst2pat_p ∈ (components;ports)[{Inst}] → (components;ports)[{Pat}]"/>
<org.eventb.core.variable name="_ANiZwPqxEeectLZKwQfI0A" org.eventb.core.identifier="to_unfold_c_in"/>
<org.eventb.core.variable name="_JtPOYPqxEeectLZKwQfI0A" org.eventb.core.identifier="inst2pat_c"/>
<org.eventb.core.variable name="_jRoOoPqxEeectLZKwQfI0A" org.eventb.core.identifier="cProperties"/>
<org.eventb.core.variable name="_oU9JIPqyEeectLZKwQfI0A" org.eventb.core.identifier="M"/>
<org.eventb.core.invariant name="_F0IYkPriEeerIsS6OyYQ4w" org.eventb.core.label="inst2pat_commp" org.eventb.core.predicate="inst2pat_p;ports∼ = ports∼;inst2pat_c"/>
<org.eventb.core.variable name="_6RL9kAA2EeictLZKwQfI0A" org.eventb.core.identifier="P"/>
<org.eventb.core.variable name="_h1eCEADlEei-meqqkXX9bA" org.eventb.core.identifier="c_indexes"/>
<org.eventb.core.invariant name="_ui7VEAFGEei9ocE08JsPSw" org.eventb.core.label="to_unfold_p_inst2pat" org.eventb.core.predicate="ran(to_unfold_p_in) ⊆ dom(inst2pat_c)"/>
<org.eventb.core.event name="_YUG9oAKzEeiAPf1wPUl3Gw" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="apply_link_pattern">
<org.eventb.core.refinesEvent name="_YUG9oQKzEeiAPf1wPUl3Gw" org.eventb.core.target="apply_pattern"/>
<org.eventb.core.parameter name="_nVsysvI8EemlHb-ZV1EcBQ" org.eventb.core.identifier="comp"/>
<org.eventb.core.parameter name="_nVsys_I8EemlHb-ZV1EcBQ" org.eventb.core.identifier="src_subc"/>
<org.eventb.core.parameter name="_nVsytPI8EemlHb-ZV1EcBQ" org.eventb.core.identifier="dst_subc"/>
<org.eventb.core.parameter name="_nVsytfI8EemlHb-ZV1EcBQ" org.eventb.core.identifier="src_ports"/>
<org.eventb.core.parameter name="_nVsytvI8EemlHb-ZV1EcBQ" org.eventb.core.identifier="dst_ports"/>
<org.eventb.core.parameter name="_nVsyt_I8EemlHb-ZV1EcBQ" org.eventb.core.identifier="new_ports"/>
<org.eventb.core.guard name="_nVsyuPI8EemlHb-ZV1EcBQ" org.eventb.core.label="comp" org.eventb.core.predicate="comp ∈ components[{Mdl}]"/>
<org.eventb.core.guard name="_nVsyufI8EemlHb-ZV1EcBQ" org.eventb.core.label="comp_map" org.eventb.core.predicate="ran( inst_components) = {comp}"/>
<org.eventb.core.guard name="_nVsyuvI8EemlHb-ZV1EcBQ" org.eventb.core.label="src_subc" org.eventb.core.predicate="src_subc × {comp} ⊆ container"/>
<org.eventb.core.guard name="_nVsyu_I8EemlHb-ZV1EcBQ" org.eventb.core.label="dst_subc" org.eventb.core.predicate="dst_subc × {comp} ⊆ container"/>
<org.eventb.core.guard name="_nVsyvPI8EemlHb-ZV1EcBQ" org.eventb.core.label="ip" org.eventb.core.predicate="src_ports ∈ (inst_components∼;ports▷IPort)[{comp}] ⤔ ports[src_subc] ∩ OPort"/>
<org.eventb.core.guard name="_nVsyvfI8EemlHb-ZV1EcBQ" org.eventb.core.label="op" org.eventb.core.predicate="dst_ports ∈ (inst_components∼;ports▷OPort)[{comp}] ⤔ ports[dst_subc] ∩ IPort"/>
<org.eventb.core.guard name="_nVsyvvI8EemlHb-ZV1EcBQ" org.eventb.core.label="np" org.eventb.core.predicate="new_ports ∈ (components;ports)[{Inst}] ∖ (dom(src_ports) ∪ dom(src_ports)) ↣ Port ∖ ran(components;ports)"/>
<org.eventb.core.guard name="_nVtZwPI8EemlHb-ZV1EcBQ" org.eventb.core.label="np_i" org.eventb.core.predicate="new_ports[IPort] ⊆ IPort"/>
<org.eventb.core.guard name="_nVtZwfI8EemlHb-ZV1EcBQ" org.eventb.core.label="np_o" org.eventb.core.predicate="new_ports[OPort] ⊆ OPort"/>
<org.eventb.core.action name="_LcSJoBKaEeqU6uo9ksjEPA" org.eventb.core.assignment="ports ≔ ports ∪ ((inst_components ∪ new_components)∼;ports;new_ports)" org.eventb.core.label="p"/>
</org.eventb.core.event> </org.eventb.core.event>
<org.eventb.core.variable name="_zY448AK7EeiAPf1wPUl3Gw" org.eventb.core.identifier="to_unfold_p_in"/> <org.eventb.core.variable name="_zY448AK7EeiAPf1wPUl3Gw" org.eventb.core.identifier="ports"/>
<org.eventb.core.variable name="_zY448QK7EeiAPf1wPUl3Gw" org.eventb.core.identifier="inst2pat_p"/> <org.eventb.core.variable name="_zY448QK7EeiAPf1wPUl3Gw" org.eventb.core.identifier="p_multiplicity"/>
<org.eventb.core.invariant name="_zY448gK7EeiAPf1wPUl3Gw" org.eventb.core.label="to_unfold_p_in_comp" org.eventb.core.predicate="to_unfold_p_in;inst2pat_c ⊆ ports∼"/> <org.eventb.core.invariant name="_zY448gK7EeiAPf1wPUl3Gw" org.eventb.core.label="to_unfold_p_in_comp" org.eventb.core.predicate="to_unfold_p_in;inst2pat_c ⊆ ports∼"/>
<org.eventb.core.invariant name="_22_TUALCEeiAPf1wPUl3Gw" org.eventb.core.label="i2p_IPort" org.eventb.core.predicate="inst2pat_p[IPort] ⊆ IPort"/> <org.eventb.core.invariant name="_22_TUALCEeiAPf1wPUl3Gw" org.eventb.core.label="i2p_IPort" org.eventb.core.predicate="inst2pat_p[IPort] ⊆ IPort"/>
<org.eventb.core.invariant name="_QFUfMAWQEei9ocE08JsPSw" org.eventb.core.label="i2p_OPort" org.eventb.core.predicate="inst2pat_p[OPort] ⊆ OPort"/> <org.eventb.core.invariant name="_QFUfMAWQEei9ocE08JsPSw" org.eventb.core.label="i2p_OPort" org.eventb.core.predicate="inst2pat_p[OPort] ⊆ OPort"/>
<org.eventb.core.invariant name="_QFVGQAWQEei9ocE08JsPSw" org.eventb.core.label="p_index_ty" org.eventb.core.predicate="p_index ∈ dom(inst2pat_p) → ℕ"/> <org.eventb.core.invariant name="_QFVGQAWQEei9ocE08JsPSw" org.eventb.core.label="p_index_ty" org.eventb.core.predicate="p_index ∈ dom(inst2pat_p) → ℕ"/>
<org.eventb.core.variant name="_7pQu4Af5EeiFlqW-8GKglg" org.eventb.core.expression="to_unfold_p_in"/> <org.eventb.core.variant name="_7pQu4Af5EeiFlqW-8GKglg" org.eventb.core.expression="to_unfold_p_in"/>
<org.eventb.core.variable name="_LcSJoRKaEeqU6uo9ksjEPA" org.eventb.core.identifier="p_index"/>
<org.eventb.core.variable name="_LcSJohKaEeqU6uo9ksjEPA" org.eventb.core.identifier="to_unfold_p_in"/>
<org.eventb.core.variable name="_XAX34BKaEeqU6uo9ksjEPA" org.eventb.core.identifier="inst2pat_p"/>
</org.eventb.core.machineFile> </org.eventb.core.machineFile>

148
Event-B/pseim/mProperty.bcm

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.scMachineFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.units.mchBase">
<org.eventb.core.scRefinesMachine name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mComponent.bcm" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.refinesMachine#_0kfYMPqeEeectLZKwQfI0A"/>
<org.eventb.core.scSeesContext name="(" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cComponent.bcc" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.seesContext#_Rf6I4ADlEei-meqqkXX9bA"/>
<org.eventb.core.scInternalContext name="cModel">
<org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" 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.theorem="false"/>
<org.eventb.core.scConstant name="Inst" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/>
<org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scConstant name="Pat" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cComponent">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/>
<org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInvariant name="cComponenu" org.eventb.core.label="comp" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenv" org.eventb.core.label="comp_finite" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenw" org.eventb.core.label="comp_not_shared" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenx" org.eventb.core.label="c_mult" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeny" org.eventb.core.label="cont_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponenz" org.eventb.core.label="cl_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen{" org.eventb.core.label="cl_fin" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen|" org.eventb.core.label="cl_cont" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen}" org.eventb.core.label="cl_trans" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponen~" org.eventb.core.label="cl_left" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo'" org.eventb.core.label="cl_irrefl" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo(" org.eventb.core.label="cl_comp" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo)" org.eventb.core.label="cl_compr" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo*" org.eventb.core.label="cont_ctr" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo+" org.eventb.core.label="cont_fin" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo," org.eventb.core.label="irrefl" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo-" org.eventb.core.label="cont_mono" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo." org.eventb.core.label="to_unfold_c_in" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo/" org.eventb.core.label="to_unfold_c" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo0" org.eventb.core.label="inst2pat_c_ty" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo1" org.eventb.core.label="inst2pat_unfold_in" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo2" org.eventb.core.label="pat2inst_unfold" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo3" org.eventb.core.label="unfold_root" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo4" org.eventb.core.label="unfold_in" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo5" org.eventb.core.label="unfold_mul" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo6" org.eventb.core.label="unfold_in_mul" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo7" org.eventb.core.label="unfold_in_i2p" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo8" org.eventb.core.label="unfold_cont" 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.theorem="false"/>
<org.eventb.core.scInvariant name="cComponeo9" org.eventb.core.label="unfold_unfold_in" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo:" org.eventb.core.label="unfold_fin" 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.theorem="true"/>
<org.eventb.core.scInvariant name="cComponeo;" org.eventb.core.label="inst2pat_cont" 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.theorem="false"/>
<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="cComponeoK" org.eventb.core.label="prop" 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.theorem="false"/>
<org.eventb.core.scVariable name="M" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_auDgABKZEeqU6uo9ksjEPA" org.eventb.core.type="ℤ"/>
<org.eventb.core.scVariable name="P" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_auDgARKZEeqU6uo9ksjEPA" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scVariable name="cProperties" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_JtPOYPqxEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Property)"/>
<org.eventb.core.scVariable name="c_index" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_btIX4fqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.scVariable name="c_indexes" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_auDgAhKZEeqU6uo9ksjEPA" org.eventb.core.type="ℙ(Component×ℙ(Component×ℤ))"/>
<org.eventb.core.scVariable name="c_multiplicity" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_0kf_Q_qeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.scVariable name="components" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_0kf_QPqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model×Component)"/>
<org.eventb.core.scVariable name="container" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_0kf_QfqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="containers" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_0kf_QvqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="inst2pat_c" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_gk8cUAK8EeiAPf1wPUl3Gw" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scVariable name="to_unfold_c" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_zYW3EPqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scVariable name="to_unfold_c_in" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.variable#_ANiZwPqxEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scEvent name="to_unfold_c_io" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="instanciate_pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mComponent.bcm|org.eventb.core.scMachineFile#mComponent|org.eventb.core.scEvent#to_unfold_c_ip" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#'|org.eventb.core.refinesEvent#_btHw0PqwEeectLZKwQfI0A"/>
<org.eventb.core.scGuard name="'" org.eventb.core.label="ic" 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.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="icr" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="cm" 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.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="cmult" 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.theorem="false"/>
<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_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.scParameter name="c_mult" org.eventb.core.source="/MODELS_INC_V9_VAR/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.parameter#_O1VxofqmEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component×ℤ)"/>
<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.scEvent>
<org.eventb.core.scEvent name="to_unfold_c_ip" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_root_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mComponent.bcm|org.eventb.core.scMachineFile#mComponent|org.eventb.core.scEvent#to_unfold_c_iq" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A|org.eventb.core.refinesEvent#_bAhygAKxEeiAPf1wPUl3Gw"/>
<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"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="new_c_ty" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="new_c_fin" 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.theorem="true"/>
<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.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_index∪new_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.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_j" org.eventb.core.assignment="cProperties ≔ cProperties∪(ran(new_c) × cProperties[{c}])" org.eventb.core.label="prop" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btIX4_qwEeectLZKwQfI0A|org.eventb.core.action#_btIX4PqwEeectLZKwQfI0A"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_c_iq" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_node_c" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mComponent.bcm|org.eventb.core.scMachineFile#mComponent|org.eventb.core.scEvent#to_unfold_c_ir" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A|org.eventb.core.refinesEvent#_MU_ooBH9EeqU6uo9ksjEPA"/>
<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"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="new_c_ty" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="new_c_fin" 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.theorem="true"/>
<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#_O1WYufqmEeectLZKwQfI0A|org.eventb.core.guard#_O1Xm0vqmEeectLZKwQfI0A" org.eventb.core.theorem="true"/>
<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_index∪new_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.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_k" org.eventb.core.assignment="cProperties ≔ cProperties∪(ran(new_c) × cProperties[{c}])" org.eventb.core.label="prop" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btJmBfqwEeectLZKwQfI0A|org.eventb.core.action#_btJmA_qwEeectLZKwQfI0A"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="to_unfold_c_ir" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="apply_pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/mComponent.bcm|org.eventb.core.scMachineFile#mComponent|org.eventb.core.scEvent#to_unfold_c_is" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.refinesEvent#_MVAPsBH9EeqU6uo9ksjEPA"/>
<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.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_components∪new_components)∼;container;(inst_components∪new_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_components∪inst_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.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.scGuard name="inst_componentw" org.eventb.core.label="inst_prop" 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.theorem="false"/>
<org.eventb.core.scParameter name="inst_props" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.parameter#_btHw0fqwEeectLZKwQfI0A" org.eventb.core.type="ℙ(Property×Property)"/>
<org.eventb.core.scAction name="inst_componentx" org.eventb.core.assignment="cProperties ≔ cProperties∪((inst_components∪new_components)∼;cProperties;((id ⦂ ℙ(Property×Property))inst_props))" org.eventb.core.label="prop" org.eventb.core.source="/MODELS_INC_V9_VAR/mProperty.bum|org.eventb.core.machineFile#mProperty|org.eventb.core.event#_btKNEfqwEeectLZKwQfI0A|org.eventb.core.action#_bAhyggKxEeiAPf1wPUl3Gw"/>
</org.eventb.core.scEvent>
</org.eventb.core.scMachineFile>

151
Event-B/pseim/mProperty.bpo

@ -0,0 +1,151 @@
<?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>

2
Event-B/pseim/mProperty.bps

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<org.eventb.core.psFile/>

22
Event-B/pseim/mProperty.bum

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.machineFile org.eventb.core.configuration="org.eventb.core.fwd;de.prob.units.mchBase" org.eventb.texttools.text_lastmodified="1522334186022" org.eventb.texttools.text_representation="machine mProperty refines mComponent sees cComponent&#10;&#10;variables components container c_multiplicity to_clone_c c_index to_unfold_c to_unfold_c_in cProperties inst2pat_c&#10;&#10;invariants&#10; @prop cProperties ∈ Component ↔ Property&#10;&#10;events&#10; event instanciate_pattern extends instanciate_pattern&#10; end&#10;&#10; event unfold_root_c extends unfold_root_c&#10; then&#10; @prop cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}])&#10; end&#10;&#10; event clone_c extends clone_c&#10; end&#10;&#10; event unfold_node_c extends unfold_node_c&#10; then&#10; @prop cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}])&#10; end&#10;&#10; event apply_pattern extends apply_pattern&#10; any inst_props&#10; where&#10; @inst_prop inst_props ∈ Property ⇸ Property // pattern properties to model properties&#10; then&#10; @prop cProperties ≔ cProperties ∪ ((inst_components ∪ new_components)∼;cProperties)&#10; end&#10;end&#10;" version="5"> <org.eventb.core.machineFile org.eventb.core.configuration="org.eventb.core.fwd;de.prob.units.mchBase" org.eventb.texttools.text_lastmodified="1575026127695" org.eventb.texttools.text_representation="machine mProperty refines mComponent sees cComponent&#10;&#10;variables components container containers c_multiplicity c_index to_unfold_c to_unfold_c_in cProperties inst2pat_c M P c_indexes&#10;&#10;invariants&#10; @prop cProperties ∈ Component ↔ Property&#10;&#10;events&#10; event instanciate_pattern extends instanciate_pattern&#10; end&#10;&#10; event unfold_root_c extends unfold_root_c&#10; then&#10; @prop cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}])&#10; end&#10;&#10; event unfold_node_c extends unfold_node_c&#10; then&#10; @prop cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}])&#10; end&#10;&#10; event apply_pattern extends apply_pattern&#10; any inst_props&#10; where&#10; @inst_prop inst_props ∈ Property ⇸ Property // pattern properties to model properties&#10; then&#10; @prop cProperties ≔ cProperties ∪ ((inst_components ∪ new_components)∼;cProperties; (id inst_props))&#10; end&#10;end&#10;" version="5">
<org.eventb.core.refinesMachine name="_0kfYMPqeEeectLZKwQfI0A" org.eventb.core.target="mComponent"/> <org.eventb.core.refinesMachine name="_0kfYMPqeEeectLZKwQfI0A" org.eventb.core.target="mComponent"/>
<org.eventb.core.seesContext name="_Rf6I4ADlEei-meqqkXX9bA" org.eventb.core.target="cComponent"/> <org.eventb.core.seesContext name="_Rf6I4ADlEei-meqqkXX9bA" org.eventb.core.target="cComponent"/>
<org.eventb.core.event name="'" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="instanciate_pattern"> <org.eventb.core.event name="'" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="instanciate_pattern">
@ -7,29 +7,29 @@
</org.eventb.core.event> </org.eventb.core.event>
<org.eventb.core.variable name="_0kf_QPqeEeectLZKwQfI0A" org.eventb.core.identifier="components"/> <org.eventb.core.variable name="_0kf_QPqeEeectLZKwQfI0A" org.eventb.core.identifier="components"/>
<org.eventb.core.variable name="_0kf_QfqeEeectLZKwQfI0A" org.eventb.core.identifier="container"/> <org.eventb.core.variable name="_0kf_QfqeEeectLZKwQfI0A" org.eventb.core.identifier="container"/>
<org.eventb.core.variable name="_0kf_QvqeEeectLZKwQfI0A" org.eventb.core.identifier="c_multiplicity"/> <org.eventb.core.variable name="_0kf_QvqeEeectLZKwQfI0A" org.eventb.core.identifier="containers"/>
<org.eventb.core.variable name="_0kf_Q_qeEeectLZKwQfI0A" org.eventb.core.identifier="to_clone_c"/> <org.eventb.core.variable name="_0kf_Q_qeEeectLZKwQfI0A" org.eventb.core.identifier="c_multiplicity"/>
<org.eventb.core.invariant name="_0kf_RPqeEeectLZKwQfI0A" org.eventb.core.label="prop" org.eventb.core.predicate="cProperties ∈ Component ↔ Property"/> <org.eventb.core.invariant name="_0kf_RPqeEeectLZKwQfI0A" org.eventb.core.label="prop" org.eventb.core.predicate="cProperties ∈ Component ↔ Property"/>
<org.eventb.core.variable name="_btIX4fqwEeectLZKwQfI0A" org.eventb.core.identifier="c_index"/> <org.eventb.core.variable name="_btIX4fqwEeectLZKwQfI0A" org.eventb.core.identifier="c_index"/>
<org.eventb.core.event name="_btIX4_qwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_root_c"> <org.eventb.core.event name="_btIX4_qwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_root_c">
<org.eventb.core.refinesEvent name="_bAhygAKxEeiAPf1wPUl3Gw" org.eventb.core.target="unfold_root_c"/> <org.eventb.core.refinesEvent name="_bAhygAKxEeiAPf1wPUl3Gw" org.eventb.core.target="unfold_root_c"/>
<org.eventb.core.action name="_btIX4PqwEeectLZKwQfI0A" org.eventb.core.assignment="cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}])" org.eventb.core.label="prop"/> <org.eventb.core.action name="_btIX4PqwEeectLZKwQfI0A" org.eventb.core.assignment="cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}])" org.eventb.core.label="prop"/>
</org.eventb.core.event> </org.eventb.core.event>
<org.eventb.core.event name="_btJmBfqwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="clone_c"> <org.eventb.core.event name="_btJmBfqwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_node_c">
<org.eventb.core.refinesEvent name="_SDieEP06Eees7pYemx4WBQ" org.eventb.core.target="clone_c"/> <org.eventb.core.refinesEvent name="_MU_ooBH9EeqU6uo9ksjEPA" org.eventb.core.target="unfold_node_c"/>
</org.eventb.core.event>
<org.eventb.core.event name="_btKNEfqwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="unfold_node_c">
<org.eventb.core.refinesEvent name="_bAhygQKxEeiAPf1wPUl3Gw" org.eventb.core.target="unfold_node_c"/>
<org.eventb.core.action name="_btJmA_qwEeectLZKwQfI0A" org.eventb.core.assignment="cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}])" org.eventb.core.label="prop"/> <org.eventb.core.action name="_btJmA_qwEeectLZKwQfI0A" org.eventb.core.assignment="cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}])" org.eventb.core.label="prop"/>
</org.eventb.core.event> </org.eventb.core.event>
<org.eventb.core.event name="_btKNGPqwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="apply_pattern"> <org.eventb.core.event name="_btKNEfqwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="apply_pattern">
<org.eventb.core.refinesEvent name="_Rf7XAQDlEei-meqqkXX9bA" org.eventb.core.target="apply_pattern"/> <org.eventb.core.refinesEvent name="_MVAPsBH9EeqU6uo9ksjEPA" org.eventb.core.target="apply_pattern"/>
<org.eventb.core.parameter name="_btHw0fqwEeectLZKwQfI0A" org.eventb.core.identifier="inst_props"/> <org.eventb.core.parameter name="_btHw0fqwEeectLZKwQfI0A" org.eventb.core.identifier="inst_props"/>
<org.eventb.core.guard name="_btHw0_qwEeectLZKwQfI0A" org.eventb.core.comment="pattern properties to model properties" org.eventb.core.label="inst_prop" org.eventb.core.predicate="inst_props ∈ Property ⇸ Property"/> <org.eventb.core.guard name="_btHw0_qwEeectLZKwQfI0A" org.eventb.core.comment="pattern properties to model properties" org.eventb.core.label="inst_prop" org.eventb.core.predicate="inst_props ∈ Property ⇸ Property"/>
<org.eventb.core.action name="_bAhyggKxEeiAPf1wPUl3Gw" org.eventb.core.assignment="cProperties ≔ cProperties ∪ ((inst_components ∪ new_components)∼;cProperties)" org.eventb.core.label="prop"/> <org.eventb.core.action name="_bAhyggKxEeiAPf1wPUl3Gw" org.eventb.core.assignment="cProperties ≔ cProperties ∪ ((inst_components ∪ new_components)∼;cProperties; (id inst_props))" org.eventb.core.label="prop"/>
</org.eventb.core.event> </org.eventb.core.event>
<org.eventb.core.variable name="_zYW3EPqwEeectLZKwQfI0A" org.eventb.core.identifier="to_unfold_c"/> <org.eventb.core.variable name="_zYW3EPqwEeectLZKwQfI0A" org.eventb.core.identifier="to_unfold_c"/>
<org.eventb.core.variable name="_ANiZwPqxEeectLZKwQfI0A" org.eventb.core.identifier="to_unfold_c_in"/> <org.eventb.core.variable name="_ANiZwPqxEeectLZKwQfI0A" org.eventb.core.identifier="to_unfold_c_in"/>
<org.eventb.core.variable name="_JtPOYPqxEeectLZKwQfI0A" org.eventb.core.identifier="cProperties"/> <org.eventb.core.variable name="_JtPOYPqxEeectLZKwQfI0A" org.eventb.core.identifier="cProperties"/>
<org.eventb.core.variable name="_gk8cUAK8EeiAPf1wPUl3Gw" org.eventb.core.identifier="inst2pat_c"/> <org.eventb.core.variable name="_gk8cUAK8EeiAPf1wPUl3Gw" org.eventb.core.identifier="inst2pat_c"/>
<org.eventb.core.variable name="_auDgABKZEeqU6uo9ksjEPA" org.eventb.core.identifier="M"/>
<org.eventb.core.variable name="_auDgARKZEeqU6uo9ksjEPA" org.eventb.core.identifier="P"/>
<org.eventb.core.variable name="_auDgAhKZEeqU6uo9ksjEPA" org.eventb.core.identifier="c_indexes"/>
</org.eventb.core.machineFile> </org.eventb.core.machineFile>

83
Event-B/pseim/pattern_safety.bcc

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.scContextFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase;org.eventb.codegen.ui.cgConfig">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cLink.bcc|org.eventb.core.scContextFile#cLink" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.extendsContext#_-yB9QAAPEeis7pYemx4WBQ"/>
<org.eventb.core.scInternalContext name="cModel">
<org.eventb.core.scAxiom name="'" org.eventb.core.label="Pattern_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="(" org.eventb.core.label="Mdl_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name=")" org.eventb.core.label="Pat_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="*" org.eventb.core.label="Inst_ty" 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.theorem="false"/>
<org.eventb.core.scAxiom name="+" org.eventb.core.label="Inst_Mdl" 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.theorem="false"/>
<org.eventb.core.scConstant name="Inst" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Mdl" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20JYPqkEeectLZKwQfI0A" org.eventb.core.type="Model"/>
<org.eventb.core.scCarrierSet name="Model" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_5dsj0PqTEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scConstant name="Pat" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="Pattern" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.constant#_h20wcPqkEeectLZKwQfI0A" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.scCarrierSet name="Property" org.eventb.core.source="/MODELS_INC_V9_VAR/cModel.buc|org.eventb.core.contextFile#cModel|org.eventb.core.carrierSet#_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.type="ℙ(Property)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cComponent">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cModel.bcc|org.eventb.core.scContextFile#cModel" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.extendsContext#_IT7_UPqUEeectLZKwQfI0A"/>
<org.eventb.core.scCarrierSet name="Component" org.eventb.core.source="/MODELS_INC_V9_VAR/cComponent.buc|org.eventb.core.contextFile#cComponent|org.eventb.core.carrierSet#_IT7_UfqUEeectLZKwQfI0A" org.eventb.core.type="ℙ(Component)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cPort">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cComponent.bcc|org.eventb.core.scContextFile#cComponent" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.extendsContext#'"/>
<org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="part" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A" org.eventb.core.theorem="false"/>
<org.eventb.core.scConstant name="IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocPqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.scConstant name="OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.constant#_Y1LocfqyEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.scCarrierSet name="Port" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.carrierSet#_YwaNQPqeEeectLZKwQfI0A" org.eventb.core.type="ℙ(Port)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="cLink">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/MODELS_INC_V9_VAR/cPort.bcc|org.eventb.core.scContextFile#cPort" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.extendsContext#'"/>
<org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="link_k" org.eventb.core.predicate="partition(Link,Transpose,Identity,Shift,First,Rotate)" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsfgzEeeeS5KQUtrGlw" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponenv" org.eventb.core.label="LKind" org.eventb.core.predicate="LKind={Transpose,Identity,Shift,First,Rotate}" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsvgzEeeeS5KQUtrGlw" org.eventb.core.theorem="false"/>
<org.eventb.core.scConstant name="First" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhM_g8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Identity" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMfg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="LKind" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_u1ZfsPgzEeeeS5KQUtrGlw" org.eventb.core.type="ℙ(ℙ(Link))"/>
<org.eventb.core.scCarrierSet name="Link" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.carrierSet#_IabHcPoIEeeOzddrJxUeNA" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Rotate" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhNPg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Shift" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMvg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.scConstant name="Transpose" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.constant#_WzjhMPg8EeeeS5KQUtrGlw" org.eventb.core.type="ℙ(Link)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scAxiom name="cComponenu" org.eventb.core.label="replicator_ty" org.eventb.core.predicate="replicator∈Component" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_-yCkUgAPEeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponenv" org.eventb.core.label="ballot_box_ty" org.eventb.core.predicate="ballot_box∈Component" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_-yCkUwAPEeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponenw" org.eventb.core.label="safety_comp" org.eventb.core.predicate="safety_comp∈Component" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_-yCkVAAPEeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponenx" org.eventb.core.label="all_diff_component" org.eventb.core.predicate="replicator≠ballot_box∧replicator≠safety_comp∧ballot_box≠safety_comp" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_-yCkVQAPEeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeny" org.eventb.core.label="safety_container" org.eventb.core.predicate="safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_oim4RAAQEeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponenz" org.eventb.core.label="toy_container_ty" org.eventb.core.predicate="toy_container∈Component ⇸ Component" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_oim4RQAQEeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponen{" org.eventb.core.label="toy_container_def" org.eventb.core.predicate="toy_container=(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_oim4RgAQEeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponen|" org.eventb.core.label="safety_model" org.eventb.core.predicate="safety_model∈Model" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_oinfUAAQEeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponen}" org.eventb.core.label="toy_model_ty" org.eventb.core.predicate="toy_model∈Model" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_9c9V0gAREeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponen~" org.eventb.core.label="safety_diff_toy" org.eventb.core.predicate="safety_model≠toy_model" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_9c9V0wAREeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo'" org.eventb.core.label="Model_def" org.eventb.core.predicate="Model={safety_model,toy_model}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_9c9V1AAREeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo(" org.eventb.core.label="toy_app_ty" org.eventb.core.predicate="toy_app∈Component" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_9c984AAREeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo)" org.eventb.core.label="toy_inp_1_ty" org.eventb.core.predicate="toy_inp_1∈IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_9lz6YgASEeis7pYemx4WBQ" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo*" org.eventb.core.label="toy_inp_2_ty" org.eventb.core.predicate="toy_inp_2∈IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCEgEBEei-meqqkXX9bA" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo+" org.eventb.core.label="toy_output_ty" org.eventb.core.predicate="toy_output∈OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCEwEBEei-meqqkXX9bA" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo," org.eventb.core.label="components_var_def" org.eventb.core.predicate="components_var={safety_model ↦ {replicator,ballot_box,safety_comp},toy_model ↦ {toy_app}}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFAEBEei-meqqkXX9bA" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo-" org.eventb.core.label="container_var_def" org.eventb.core.predicate="container_var={safety_model ↦ safety_container,toy_model ↦ toy_container}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFQEBEei-meqqkXX9bA" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo." org.eventb.core.label="f_container_var" org.eventb.core.predicate="f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFgEBEei-meqqkXX9bA" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo/" org.eventb.core.label="f_acycl" org.eventb.core.predicate="∀m⦂Model·container_var(m)⊆f_container_var∧f_container_var;f_container_var⊆f_container_var∧(id ⦂ ℙ(Component×Component))∩f_container_var=(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFwEBEei-meqqkXX9bA" org.eventb.core.theorem="true"/>
<org.eventb.core.scAxiom name="cComponeo0" org.eventb.core.label="inst_components_def" org.eventb.core.predicate="inst_components_par={safety_comp ↦ toy_app}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIAEBEei-meqqkXX9bA" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo1" org.eventb.core.label="c_mult_others_def" org.eventb.core.predicate="c_mult_others_par={replicator ↦ 3,ballot_box ↦ 1}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIQEBEei-meqqkXX9bA" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo2" org.eventb.core.label="c_muliplicity_var_def" org.eventb.core.predicate="c_multiplicity_var={safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIgEBEei-meqqkXX9bA" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo3" org.eventb.core.label="c_multiplicity_assign&#10;" org.eventb.core.predicate="c_multiplicity_var(safety_model)=c_mult_others_par{pc⦂Component·pc∈dom(inst_components_par) ∣ pc ↦ card(inst_components_par[{pc}])}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIwEBEei-meqqkXX9bA" org.eventb.core.theorem="true"/>
<org.eventb.core.scAxiom name="cComponeo4" org.eventb.core.label="to_unfold_c_var_def" org.eventb.core.predicate="to_unfold_c_var={safety_comp}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpJAEBEei-meqqkXX9bA" org.eventb.core.theorem="false"/>
<org.eventb.core.scAxiom name="cComponeo5" org.eventb.core.label="to_unfold_c_var&#10;" org.eventb.core.predicate="to_unfold_c_var=components_var(safety_model) ∖ dom(container_var(safety_model))" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpJQEBEei-meqqkXX9bA" org.eventb.core.theorem="true"/>
<org.eventb.core.scConstant name="ballot_box" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_-yCkUAAPEeis7pYemx4WBQ" org.eventb.core.type="Component"/>
<org.eventb.core.scConstant name="c_mult_others_par" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_kRNbAwEBEei-meqqkXX9bA" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.scConstant name="c_multiplicity_var" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_kROCEAEBEei-meqqkXX9bA" org.eventb.core.type="ℙ(Model×ℙ(Component×ℤ))"/>
<org.eventb.core.scConstant name="components_var" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_9lz6YQASEeis7pYemx4WBQ" org.eventb.core.type="ℙ(Model×ℙ(Component))"/>
<org.eventb.core.scConstant name="container_var" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_kRNbAAEBEei-meqqkXX9bA" org.eventb.core.type="ℙ(Model×ℙ(Component×Component))"/>
<org.eventb.core.scConstant name="f_container_var" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_kRNbAQEBEei-meqqkXX9bA" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scConstant name="inst_components_par" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_kRNbAgEBEei-meqqkXX9bA" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scConstant name="replicator" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_-yB9QQAPEeis7pYemx4WBQ" org.eventb.core.type="Component"/>
<org.eventb.core.scConstant name="safety_comp" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_H1oEsAAQEeis7pYemx4WBQ" org.eventb.core.type="Component"/>
<org.eventb.core.scConstant name="safety_container" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_oim4QAAQEeis7pYemx4WBQ" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scConstant name="safety_model" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_-yCkUQAPEeis7pYemx4WBQ" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="to_unfold_c_var" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_kROCEQEBEei-meqqkXX9bA" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.scConstant name="toy_app" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_oim4QwAQEeis7pYemx4WBQ" org.eventb.core.type="Component"/>
<org.eventb.core.scConstant name="toy_container" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_oim4QgAQEeis7pYemx4WBQ" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.scConstant name="toy_inp_1" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_9c9V0AAREeis7pYemx4WBQ" org.eventb.core.type="Port"/>
<org.eventb.core.scConstant name="toy_inp_2" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_9c9V0QAREeis7pYemx4WBQ" org.eventb.core.type="Port"/>
<org.eventb.core.scConstant name="toy_model" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_oim4QQAQEeis7pYemx4WBQ" org.eventb.core.type="Model"/>
<org.eventb.core.scConstant name="toy_output" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.constant#_9lz6YAASEeis7pYemx4WBQ" org.eventb.core.type="Port"/>
</org.eventb.core.scContextFile>

117
Event-B/pseim/pattern_safety.bpo

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.poFile org.eventb.core.poStamp="2">
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.poStamp="2">
<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.poIdentifier name="Port" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.poIdentifier name="IPort" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.poIdentifier name="OPort" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.poPredicate name="Componenu" org.eventb.core.predicate="partition(Port,IPort,OPort)" org.eventb.core.source="/MODELS_INC_V9_VAR/cPort.buc|org.eventb.core.contextFile#cPort|org.eventb.core.axiom#_Y1LocvqyEeectLZKwQfI0A"/>
<org.eventb.core.poIdentifier name="Link" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.poIdentifier name="First" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.poIdentifier name="Identity" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.poIdentifier name="LKind" org.eventb.core.type="ℙ(ℙ(Link))"/>
<org.eventb.core.poIdentifier name="Rotate" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.poIdentifier name="Shift" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.poIdentifier name="Transpose" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.poPredicate name="Transposf" org.eventb.core.predicate="partition(Link,Transpose,Identity,Shift,First,Rotate)" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsfgzEeeeS5KQUtrGlw"/>
<org.eventb.core.poPredicate name="Transposg" org.eventb.core.predicate="LKind={Transpose,Identity,Shift,First,Rotate}" org.eventb.core.source="/MODELS_INC_V9_VAR/cLink.buc|org.eventb.core.contextFile#cLink|org.eventb.core.axiom#_u1ZfsvgzEeeeS5KQUtrGlw"/>
<org.eventb.core.poIdentifier name="ballot_box" org.eventb.core.type="Component"/>
<org.eventb.core.poIdentifier name="c_mult_others_par" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.poIdentifier name="c_multiplicity_var" org.eventb.core.type="ℙ(Model×ℙ(Component×ℤ))"/>
<org.eventb.core.poIdentifier name="components_var" org.eventb.core.type="ℙ(Model×ℙ(Component))"/>
<org.eventb.core.poIdentifier name="container_var" org.eventb.core.type="ℙ(Model×ℙ(Component×Component))"/>
<org.eventb.core.poIdentifier name="f_container_var" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="inst_components_par" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="replicator" org.eventb.core.type="Component"/>
<org.eventb.core.poIdentifier name="safety_comp" org.eventb.core.type="Component"/>
<org.eventb.core.poIdentifier name="safety_container" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="safety_model" org.eventb.core.type="Model"/>
<org.eventb.core.poIdentifier name="to_unfold_c_var" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.poIdentifier name="toy_app" org.eventb.core.type="Component"/>
<org.eventb.core.poIdentifier name="toy_container" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.poIdentifier name="toy_inp_1" org.eventb.core.type="Port"/>
<org.eventb.core.poIdentifier name="toy_inp_2" org.eventb.core.type="Port"/>
<org.eventb.core.poIdentifier name="toy_model" org.eventb.core.type="Model"/>
<org.eventb.core.poIdentifier name="toy_output" org.eventb.core.type="Port"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="f_acycl/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Theorem" org.eventb.core.poStamp="2">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo."/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀m⦂Model·m∈dom(container_var)∧container_var∈Model ⇸ ℙ(Component × Component)" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFwEBEei-meqqkXX9bA"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFwEBEei-meqqkXX9bA"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo."/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="f_acycl/THM" org.eventb.core.accurate="true" org.eventb.core.poDesc="Theorem" org.eventb.core.poStamp="2">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo."/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀m⦂Model·container_var(m)⊆f_container_var∧f_container_var;f_container_var⊆f_container_var∧(id ⦂ ℙ(Component×Component))∩f_container_var=(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFwEBEei-meqqkXX9bA"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFwEBEei-meqqkXX9bA"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo."/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="c_multiplicity_assign&#10;/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Theorem" org.eventb.core.poStamp="2">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo2"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="safety_model∈dom(c_multiplicity_var)∧c_multiplicity_var∈Model ⇸ ℙ(Component × ℤ)∧(∀pc⦂Component·pc∈dom(inst_components_par)⇒finite(inst_components_par[{pc}]))" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIwEBEei-meqqkXX9bA"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIwEBEei-meqqkXX9bA"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo2"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="c_multiplicity_assign&#10;/THM" org.eventb.core.accurate="true" org.eventb.core.poDesc="Theorem" org.eventb.core.poStamp="2">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo2"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c_multiplicity_var(safety_model)=c_mult_others_par{pc⦂Component·pc∈dom(inst_components_par) ∣ pc ↦ card(inst_components_par[{pc}])}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIwEBEei-meqqkXX9bA"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIwEBEei-meqqkXX9bA"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo2"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="to_unfold_c_var&#10;/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Theorem" org.eventb.core.poStamp="2">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo4"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="safety_model∈dom(components_var)∧components_var∈Model ⇸ ℙ(Component)∧safety_model∈dom(container_var)∧container_var∈Model ⇸ ℙ(Component × Component)" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpJQEBEei-meqqkXX9bA"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpJQEBEei-meqqkXX9bA"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo4"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="to_unfold_c_var&#10;/THM" org.eventb.core.accurate="true" org.eventb.core.poDesc="Theorem" org.eventb.core.poStamp="2">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo4"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c_var=components_var(safety_model) ∖ dom(container_var(safety_model))" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpJQEBEei-meqqkXX9bA"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpJQEBEei-meqqkXX9bA"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poSelHintSnd="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo4"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="HYPcComponeo." org.eventb.core.parentSet="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="2">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="replicator∈Component" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_-yCkUgAPEeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="ballot_box∈Component" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_-yCkUwAPEeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="safety_comp∈Component" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_-yCkVAAPEeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="replicator≠ballot_box∧replicator≠safety_comp∧ballot_box≠safety_comp" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_-yCkVQAPEeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_oim4RAAQEeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="toy_container∈Component ⇸ Component" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_oim4RQAQEeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="toy_container=(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_oim4RgAQEeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="safety_model∈Model" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_oinfUAAQEeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="toy_model∈Model" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_9c9V0gAREeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="safety_model≠toy_model" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_9c9V0wAREeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="Model={safety_model,toy_model}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_9c9V1AAREeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="toy_app∈Component" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_9c984AAREeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD12" org.eventb.core.predicate="toy_inp_1∈IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_9lz6YgASEeis7pYemx4WBQ"/>
<org.eventb.core.poPredicate name="PRD13" org.eventb.core.predicate="toy_inp_2∈IPort" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCEgEBEei-meqqkXX9bA"/>
<org.eventb.core.poPredicate name="PRD14" org.eventb.core.predicate="toy_output∈OPort" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCEwEBEei-meqqkXX9bA"/>
<org.eventb.core.poPredicate name="PRD15" org.eventb.core.predicate="components_var={safety_model ↦ {replicator,ballot_box,safety_comp},toy_model ↦ {toy_app}}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFAEBEei-meqqkXX9bA"/>
<org.eventb.core.poPredicate name="PRD16" org.eventb.core.predicate="container_var={safety_model ↦ safety_container,toy_model ↦ toy_container}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFQEBEei-meqqkXX9bA"/>
<org.eventb.core.poPredicate name="PRD17" org.eventb.core.predicate="f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFgEBEei-meqqkXX9bA"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="HYPcComponeo2" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo." org.eventb.core.poStamp="2">
<org.eventb.core.poPredicate name="PRD18" org.eventb.core.predicate="∀m⦂Model·container_var(m)⊆f_container_var∧f_container_var;f_container_var⊆f_container_var∧(id ⦂ ℙ(Component×Component))∩f_container_var=(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROCFwEBEei-meqqkXX9bA"/>
<org.eventb.core.poPredicate name="PRD19" org.eventb.core.predicate="inst_components_par={safety_comp ↦ toy_app}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIAEBEei-meqqkXX9bA"/>
<org.eventb.core.poPredicate name="PRD20" org.eventb.core.predicate="c_mult_others_par={replicator ↦ 3,ballot_box ↦ 1}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIQEBEei-meqqkXX9bA"/>
<org.eventb.core.poPredicate name="PRD21" org.eventb.core.predicate="c_multiplicity_var={safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIgEBEei-meqqkXX9bA"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="HYPcComponeo4" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo2" org.eventb.core.poStamp="2">
<org.eventb.core.poPredicate name="PRD22" org.eventb.core.predicate="c_multiplicity_var(safety_model)=c_mult_others_par{pc⦂Component·pc∈dom(inst_components_par) ∣ pc ↦ card(inst_components_par[{pc}])}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpIwEBEei-meqqkXX9bA"/>
<org.eventb.core.poPredicate name="PRD23" org.eventb.core.predicate="to_unfold_c_var={safety_comp}" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpJAEBEei-meqqkXX9bA"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/MODELS_INC_V9_VAR/pattern_safety.bpo|org.eventb.core.poFile#pattern_safety|org.eventb.core.poPredicateSet#HYPcComponeo4" org.eventb.core.poStamp="2">
<org.eventb.core.poPredicate name="PRD24" org.eventb.core.predicate="to_unfold_c_var=components_var(safety_model) ∖ dom(container_var(safety_model))" org.eventb.core.source="/MODELS_INC_V9_VAR/pattern_safety.buc|org.eventb.core.contextFile#pattern_safety|org.eventb.core.axiom#_kROpJQEBEei-meqqkXX9bA"/>
</org.eventb.core.poPredicateSet>
</org.eventb.core.poFile>

677
Event-B/pseim/pattern_safety.bpr

@ -176,13 +176,13 @@
<org.eventb.core.prPred name="p19" org.eventb.core.predicate="Inst∈Model ∖ Pattern"/> <org.eventb.core.prPred name="p19" org.eventb.core.predicate="Inst∈Model ∖ Pattern"/>
<org.eventb.core.prPred name="p31" org.eventb.core.predicate="Shift∩Rotate=(∅ ⦂ ℙ(Link))"/> <org.eventb.core.prPred name="p31" org.eventb.core.predicate="Shift∩Rotate=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p25" org.eventb.core.predicate="Transpose∩First=(∅ ⦂ ℙ(Link))"/> <org.eventb.core.prPred name="p25" org.eventb.core.predicate="Transpose∩First=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prReas name="r3" org.eventb.core.prRID="org.eventb.core.seqprover.conj:0"/>
<org.eventb.core.prReas name="r5" org.eventb.core.prRID="org.eventb.core.seqprover.eq:1"/>
<org.eventb.core.prReas name="r4" org.eventb.core.prRID="org.eventb.core.seqprover.allI"/>
<org.eventb.core.prReas name="r6" org.eventb.core.prRID="com.clearsy.atelierb.provers.core.externalML:1"/>
<org.eventb.core.prReas name="r2" org.eventb.core.prRID="org.eventb.core.seqprover.typeRewrites:1"/>
<org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.partitionRewrites"/> <org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.partitionRewrites"/>
<org.eventb.core.prReas name="r2" org.eventb.core.prRID="org.eventb.core.seqprover.typeRewrites:1"/>
<org.eventb.core.prReas name="r6" org.eventb.core.prRID="com.clearsy.atelierb.provers.core.externalML:1"/>
<org.eventb.core.prReas name="r1" org.eventb.core.prRID="org.eventb.core.seqprover.autoRewritesL4:0"/> <org.eventb.core.prReas name="r1" org.eventb.core.prRID="org.eventb.core.seqprover.autoRewritesL4:0"/>
<org.eventb.core.prReas name="r3" org.eventb.core.prRID="org.eventb.core.seqprover.conj:0"/>
<org.eventb.core.prReas name="r4" org.eventb.core.prRID="org.eventb.core.seqprover.allI"/>
<org.eventb.core.prReas name="r5" org.eventb.core.prRID="org.eventb.core.seqprover.eq:1"/>
</org.eventb.core.prProof> </org.eventb.core.prProof>
<org.eventb.core.prProof name="f_acycl/THM" org.eventb.core.confidence="1000" org.eventb.core.prFresh="" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22" org.eventb.core.prSets="Component,Model,Port"> <org.eventb.core.prProof name="f_acycl/THM" org.eventb.core.confidence="1000" org.eventb.core.prFresh="" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22" org.eventb.core.prSets="Component,Model,Port">
<org.eventb.core.lang name="L"/> <org.eventb.core.lang name="L"/>
@ -240,23 +240,181 @@
<org.eventb.core.prReas name="r1" org.eventb.core.prRID="org.eventb.smt.core.externalSMT"/> <org.eventb.core.prReas name="r1" org.eventb.core.prRID="org.eventb.smt.core.externalSMT"/>
<org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.mngHyp"/> <org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.mngHyp"/>
</org.eventb.core.prProof> </org.eventb.core.prProof>
<org.eventb.core.prProof name="c_multiplicity_assign&#10;/WD" org.eventb.core.confidence="1000" org.eventb.core.prFresh="" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28" org.eventb.core.prSets="Component,Model,Port"> <org.eventb.core.prProof name="c_multiplicity_assign&#10;/WD" org.eventb.core.confidence="1000" org.eventb.core.prFresh="pc" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23" org.eventb.core.prSets="Component,Link,Model,Port">
<org.eventb.core.lang name="L"/> <org.eventb.core.lang name="L"/>
<org.eventb.core.prRule name="r0" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="sl/ds" org.eventb.core.prHyps=""> <org.eventb.core.prRule name="r0" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="Partition rewrites in hyp (partition(Port,IPort,OPort))" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'"> <org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="SELECT0" org.eventb.core.prHyps="p2,p27,p9,p28,p16,p18"/> <org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p9" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p24,p25"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="CVC4" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p19,p21,p14,p15,p5,p1,p20,p24,p13,p23,p12,p6,p17,p8,p25,p4,p7,p11,p3,p26,p22,p10,p2,p27,p9,p28,p16,p18"> <org.eventb.core.prHypAction name="SELECT1" org.eventb.core.prHyps="p24,p25"/>
<org.eventb.core.prString name=".arg" org.eventb.core.prSValue="R1000"/> <org.eventb.core.prRule name="r0" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="Partition rewrites in hyp (partition(Link,Transpose,Identity,Shift,First,Rotate))" org.eventb.core.prHyps="">
<org.eventb.core.prString name=".config_id" org.eventb.core.prSValue="CVC4"/> <org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p3" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36"/>
<org.eventb.core.prHypAction name="SELECT1" org.eventb.core.prHyps="p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p5" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p37"/>
<org.eventb.core.prHypAction name="REWRITE1" org.eventb.core.prHidden="p4" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p38,p39,p40"/>
<org.eventb.core.prHypAction name="REWRITE2" org.eventb.core.prHidden="p17" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p41"/>
<org.eventb.core.prHypAction name="REWRITE3" org.eventb.core.prHidden="p2" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p42,p43,p44"/>
<org.eventb.core.prRule name="r2" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="type rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="HIDE0" org.eventb.core.prHyps="p45"/>
<org.eventb.core.prHypAction name="HIDE1" org.eventb.core.prHyps="p46"/>
<org.eventb.core.prHypAction name="HIDE2" org.eventb.core.prHyps="p47"/>
<org.eventb.core.prHypAction name="HIDE3" org.eventb.core.prHyps="p48"/>
<org.eventb.core.prHypAction name="HIDE4" org.eventb.core.prHyps="p49"/>
<org.eventb.core.prHypAction name="HIDE5" org.eventb.core.prHyps="p50"/>
<org.eventb.core.prHypAction name="HIDE6" org.eventb.core.prHyps="p51"/>
<org.eventb.core.prRule name="r3" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="∧ goal" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p52">
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p8">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p11" org.eventb.core.prInfHyps="p53"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p11"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with toy_container=∅" org.eventb.core.prHyps="p12">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p1" org.eventb.core.prInfHyps="p54"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p53" org.eventb.core.prInfHyps="p55"/>
<org.eventb.core.prHypAction name="DESELECT2" org.eventb.core.prHyps="p1,p53"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p19">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p42" org.eventb.core.prInfHyps="p56"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p43" org.eventb.core.prInfHyps="p57"/>
<org.eventb.core.prHypAction name="FORWARD_INF2" org.eventb.core.prHyps="p44" org.eventb.core.prInfHyps="p58"/>
<org.eventb.core.prHypAction name="DESELECT3" org.eventb.core.prHyps="p42,p43,p44"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with c_multiplicity_var={safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}" org.eventb.core.prGoal="p52" org.eventb.core.prHyps="p15">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p59">
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prGoal="p59" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p60">
<org.eventb.core.prRule name="r5" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="⊤ goal" org.eventb.core.prGoal="p60" org.eventb.core.prHyps=""/>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
<org.eventb.core.prAnte name="(" org.eventb.core.prGoal="p61">
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p8">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p11" org.eventb.core.prInfHyps="p53"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p11"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with toy_container=∅" org.eventb.core.prHyps="p12">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p1" org.eventb.core.prInfHyps="p54"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p53" org.eventb.core.prInfHyps="p55"/>
<org.eventb.core.prHypAction name="DESELECT2" org.eventb.core.prHyps="p1,p53"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p19">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p42" org.eventb.core.prInfHyps="p56"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p43" org.eventb.core.prInfHyps="p57"/>
<org.eventb.core.prHypAction name="FORWARD_INF2" org.eventb.core.prHyps="p44" org.eventb.core.prInfHyps="p58"/>
<org.eventb.core.prHypAction name="DESELECT3" org.eventb.core.prHyps="p42,p43,p44"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with c_multiplicity_var={safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}" org.eventb.core.prGoal="p61" org.eventb.core.prHyps="p15">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p62">
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with container_var={safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ ∅}" org.eventb.core.prHyps="p55">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p56" org.eventb.core.prInfHyps="p63"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p56"/>
<org.eventb.core.prRule name="r6" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="ML" org.eventb.core.prGoal="p62" org.eventb.core.prHyps="p20,p14,p23,p10,p8,p1,p12,p22,p7,p13,p18,p6,p11,p19,p21,p16,p15,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p53,p54,p55,p56,p57,p58,p63">
<org.eventb.core.prString name=".arg" org.eventb.core.prSValue="0;1:500"/>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
<org.eventb.core.prAnte name=")" org.eventb.core.prGoal="p64">
<org.eventb.core.prRule name="r7" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="∀ goal (frees pc)" org.eventb.core.prGoal="p64" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p65">
<org.eventb.core.prIdent name="pc" org.eventb.core.type="Component"/>
<org.eventb.core.prRule name="r8" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="⇒ goal" org.eventb.core.prGoal="p65" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p67" org.eventb.core.prHyps="p66">
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p8">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p11" org.eventb.core.prInfHyps="p53"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p11"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with toy_container=∅" org.eventb.core.prHyps="p12">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p1" org.eventb.core.prInfHyps="p54"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p53" org.eventb.core.prInfHyps="p55"/>
<org.eventb.core.prHypAction name="DESELECT2" org.eventb.core.prHyps="p1,p53"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p19">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p42" org.eventb.core.prInfHyps="p56"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p43" org.eventb.core.prInfHyps="p57"/>
<org.eventb.core.prHypAction name="FORWARD_INF2" org.eventb.core.prHyps="p44" org.eventb.core.prInfHyps="p58"/>
<org.eventb.core.prHypAction name="DESELECT3" org.eventb.core.prHyps="p42,p43,p44"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with inst_components_par={safety_comp ↦ toy_app}" org.eventb.core.prGoal="p67" org.eventb.core.prHyps="p21">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p69">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p66" org.eventb.core.prInfHyps="p68"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p66"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p68" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p70"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with container_var={safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ ∅}" org.eventb.core.prHyps="p55">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p56" org.eventb.core.prInfHyps="p63"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p56"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with pc=safety_comp" org.eventb.core.prGoal="p69" org.eventb.core.prHyps="p70">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p71">
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prGoal="p71" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p60">
<org.eventb.core.prRule name="r5" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="⊤ goal" org.eventb.core.prGoal="p60" org.eventb.core.prHyps=""/>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule> </org.eventb.core.prRule>
</org.eventb.core.prAnte> </org.eventb.core.prAnte>
</org.eventb.core.prRule> </org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
<org.eventb.core.prString name=".pos" org.eventb.core.prSValue=""/>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
<org.eventb.core.prString name=".pos" org.eventb.core.prSValue=""/>
</org.eventb.core.prRule>
<org.eventb.core.prIdent name="First" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.prIdent name="IPort" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.prIdent name="IPort" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.prIdent name="Identity" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.prIdent name="Inst" org.eventb.core.type="Model"/> <org.eventb.core.prIdent name="Inst" org.eventb.core.type="Model"/>
<org.eventb.core.prIdent name="LKind" org.eventb.core.type="ℙ(ℙ(Link))"/>
<org.eventb.core.prIdent name="Mdl" org.eventb.core.type="Model"/> <org.eventb.core.prIdent name="Mdl" org.eventb.core.type="Model"/>
<org.eventb.core.prIdent name="OPort" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.prIdent name="OPort" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.prIdent name="Pat" org.eventb.core.type="Model"/> <org.eventb.core.prIdent name="Pat" org.eventb.core.type="Model"/>
<org.eventb.core.prIdent name="Pattern" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.prIdent name="Pattern" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.prIdent name="Rotate" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.prIdent name="Shift" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.prIdent name="Transpose" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.prIdent name="ballot_box" org.eventb.core.type="Component"/> <org.eventb.core.prIdent name="ballot_box" org.eventb.core.type="Component"/>
<org.eventb.core.prIdent name="c_mult_others_par" org.eventb.core.type="ℙ(Component×ℤ)"/> <org.eventb.core.prIdent name="c_mult_others_par" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.prIdent name="c_multiplicity_var" org.eventb.core.type="ℙ(Model×ℙ(Component×ℤ))"/> <org.eventb.core.prIdent name="c_multiplicity_var" org.eventb.core.type="ℙ(Model×ℙ(Component×ℤ))"/>
@ -275,36 +433,98 @@
<org.eventb.core.prIdent name="toy_model" org.eventb.core.type="Model"/> <org.eventb.core.prIdent name="toy_model" org.eventb.core.type="Model"/>
<org.eventb.core.prIdent name="toy_output" org.eventb.core.type="Port"/> <org.eventb.core.prIdent name="toy_output" org.eventb.core.type="Port"/>
<org.eventb.core.prPred name="p1" org.eventb.core.predicate="toy_container∈Component ⇸ Component"/> <org.eventb.core.prPred name="p1" org.eventb.core.predicate="toy_container∈Component ⇸ Component"/>
<org.eventb.core.prPred name="p2" org.eventb.core.predicate="Pattern⊆Model"/> <org.eventb.core.prPred name="p45" org.eventb.core.predicate="Pattern⊆Model"/>
<org.eventb.core.prPred name="p3" org.eventb.core.predicate="∀m⦂Model·container_var(m)⊆f_container_var∧f_container_var;f_container_var⊆f_container_var∧(id ⦂ ℙ(Component×Component))∩f_container_var=(∅ ⦂ ℙ(Component×Component))"/> <org.eventb.core.prPred name="p3" org.eventb.core.predicate="partition(Link,Transpose,Identity,Shift,First,Rotate)"/>
<org.eventb.core.prPred name="p4" org.eventb.core.predicate="components_var={safety_model ↦ {replicator,ballot_box,safety_comp},toy_model ↦ {toy_app}}"/> <org.eventb.core.prPred name="p30" org.eventb.core.predicate="Transpose∩Rotate=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p5" org.eventb.core.predicate="safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/> <org.eventb.core.prPred name="p68" org.eventb.core.predicate="pc∈dom({safety_comp ↦ toy_app})">
<org.eventb.core.prPred name="p6" org.eventb.core.predicate="toy_app∈Component"/> <org.eventb.core.prIdent name="pc" org.eventb.core.type="Component"/>
<org.eventb.core.prPred name="p7" org.eventb.core.predicate="container_var={safety_model ↦ safety_container,toy_model ↦ toy_container}"/> </org.eventb.core.prPred>
<org.eventb.core.prPred name="p8" org.eventb.core.predicate="toy_inp_2∈IPort"/> <org.eventb.core.prPred name="p53" org.eventb.core.predicate="container_var={safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ toy_container}"/>
<org.eventb.core.prPred name="p9" org.eventb.core.predicate="Pat∈Pattern"/> <org.eventb.core.prPred name="p51" org.eventb.core.predicate="toy_app∈Component"/>
<org.eventb.core.prPred name="p10" org.eventb.core.predicate="c_multiplicity_var={safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}"/> <org.eventb.core.prPred name="p64" org.eventb.core.predicate="∀pc⦂Component·pc∈dom(inst_components_par)⇒finite(inst_components_par[{pc}])"/>
<org.eventb.core.prPred name="p11" org.eventb.core.predicate="f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/> <org.eventb.core.prPred name="p14" org.eventb.core.predicate="Pat∈Pattern"/>
<org.eventb.core.prPred name="p12" org.eventb.core.predicate="Model={safety_model,toy_model}"/> <org.eventb.core.prPred name="p65" org.eventb.core.predicate="pc∈dom(inst_components_par)⇒finite(inst_components_par[{pc}])">
<org.eventb.core.prPred name="p13" org.eventb.core.predicate="toy_model∈Model"/> <org.eventb.core.prIdent name="pc" org.eventb.core.type="Component"/>
</org.eventb.core.prPred>
<org.eventb.core.prPred name="p67" org.eventb.core.predicate="finite(inst_components_par[{pc}])">
<org.eventb.core.prIdent name="pc" org.eventb.core.type="Component"/>
</org.eventb.core.prPred>
<org.eventb.core.prPred name="p31" org.eventb.core.predicate="Identity∩Shift=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p70" org.eventb.core.predicate="pc=safety_comp">
<org.eventb.core.prIdent name="pc" org.eventb.core.type="Component"/>
</org.eventb.core.prPred>
<org.eventb.core.prPred name="p19" org.eventb.core.predicate="f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
<org.eventb.core.prPred name="p22" org.eventb.core.predicate="Model={safety_model,toy_model}"/>
<org.eventb.core.prPred name="p43" org.eventb.core.predicate="f_container_var;f_container_var⊆f_container_var"/>
<org.eventb.core.prPred name="p48" org.eventb.core.predicate="safety_comp∈Component"/>
<org.eventb.core.prPred name="p40" org.eventb.core.predicate="¬ballot_box=safety_comp"/>
<org.eventb.core.prPred name="p61" org.eventb.core.predicate="c_multiplicity_var∈Model ⇸ ℙ(Component × ℤ)"/>
<org.eventb.core.prPred name="p12" org.eventb.core.predicate="toy_container=(∅ ⦂ ℙ(Component×Component))"/>
<org.eventb.core.prPred name="p27" org.eventb.core.predicate="Transpose∩Identity=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p26" org.eventb.core.predicate="Link=Transpose∪Identity∪Shift∪First∪Rotate"/>
<org.eventb.core.prPred name="p16" org.eventb.core.predicate="c_mult_others_par={replicator ↦ 3,ballot_box ↦ 1}"/>
<org.eventb.core.prPred name="p17" org.eventb.core.predicate="safety_model≠toy_model"/>
<org.eventb.core.prPred name="p24" org.eventb.core.predicate="Port=IPort∪OPort"/>
<org.eventb.core.prPred name="p25" org.eventb.core.predicate="IPort∩OPort=(∅ ⦂ ℙ(Port))"/>
<org.eventb.core.prPred name="p49" org.eventb.core.predicate="safety_model∈Model"/>
<org.eventb.core.prPred name="p20" org.eventb.core.predicate="Mdl∈Model ∖ Pattern"/>
<org.eventb.core.prPred name="p33" org.eventb.core.predicate="Identity∩Rotate=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p39" org.eventb.core.predicate="¬replicator=safety_comp"/>
<org.eventb.core.prPred name="p37" org.eventb.core.predicate="¬Inst=Mdl"/>
<org.eventb.core.prPred name="p58" org.eventb.core.predicate="(id ⦂ ℙ(Component×Component))∩{replicator ↦ safety_comp,ballot_box ↦ safety_comp}=(∅ ⦂ ℙ(Component×Component))"/>
<org.eventb.core.prPred name="p2" org.eventb.core.predicate="∀m⦂Model·container_var(m)⊆f_container_var∧f_container_var;f_container_var⊆f_container_var∧(id ⦂ ℙ(Component×Component))∩f_container_var=(∅ ⦂ ℙ(Component×Component))"/>
<org.eventb.core.prPred name="p6" org.eventb.core.predicate="components_var={safety_model ↦ {replicator,ballot_box,safety_comp},toy_model ↦ {toy_app}}"/>
<org.eventb.core.prPred name="p8" org.eventb.core.predicate="safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
<org.eventb.core.prPred name="p41" org.eventb.core.predicate="¬safety_model=toy_model"/>
<org.eventb.core.prPred name="p55" org.eventb.core.predicate="container_var={safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ (∅ ⦂ ℙ(Component×Component))}"/>
<org.eventb.core.prPred name="p11" org.eventb.core.predicate="container_var={safety_model ↦ safety_container,toy_model ↦ toy_container}"/>
<org.eventb.core.prPred name="p13" org.eventb.core.predicate="toy_inp_2∈IPort"/>
<org.eventb.core.prPred name="p15" org.eventb.core.predicate="c_multiplicity_var={safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}"/>
<org.eventb.core.prPred name="p54" org.eventb.core.predicate="(∅ ⦂ ℙ(Component×Component))∈Component ⇸ Component"/>
<org.eventb.core.prPred name="p62" org.eventb.core.predicate="{safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}∈Model ⇸ ℙ(Component × ℤ)"/>
<org.eventb.core.prPred name="p36" org.eventb.core.predicate="First∩Rotate=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p32" org.eventb.core.predicate="Identity∩First=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p52" org.eventb.core.predicate="safety_model∈dom(c_multiplicity_var)"/>
<org.eventb.core.prPred name="p66" org.eventb.core.predicate="pc∈dom(inst_components_par)">
<org.eventb.core.prIdent name="pc" org.eventb.core.type="Component"/>
</org.eventb.core.prPred>
<org.eventb.core.prPred name="p50" org.eventb.core.predicate="toy_model∈Model"/>
<org.eventb.core.prPred name="p0" org.eventb.core.predicate="safety_model∈dom(c_multiplicity_var)∧c_multiplicity_var∈Model ⇸ ℙ(Component × ℤ)∧(∀pc⦂Component·pc∈dom(inst_components_par)⇒finite(inst_components_par[{pc}]))"/> <org.eventb.core.prPred name="p0" org.eventb.core.predicate="safety_model∈dom(c_multiplicity_var)∧c_multiplicity_var∈Model ⇸ ℙ(Component × ℤ)∧(∀pc⦂Component·pc∈dom(inst_components_par)⇒finite(inst_components_par[{pc}]))"/>
<org.eventb.core.prPred name="p14" org.eventb.core.predicate="safety_comp∈Component"/> <org.eventb.core.prPred name="p42" org.eventb.core.predicate="∀m⦂Model·container_var(m)⊆f_container_var"/>
<org.eventb.core.prPred name="p15" org.eventb.core.predicate="replicator≠ballot_box∧replicator≠safety_comp∧ballot_box≠safety_comp"/> <org.eventb.core.prPred name="p60" org.eventb.core.predicate="⊤"/>
<org.eventb.core.prPred name="p16" org.eventb.core.predicate="Inst≠Mdl"/> <org.eventb.core.prPred name="p63" org.eventb.core.predicate="∀m⦂Model·{safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ (∅ ⦂ ℙ(Component×Component))}(m)⊆{replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
<org.eventb.core.prPred name="p17" org.eventb.core.predicate="toy_inp_1∈IPort"/> <org.eventb.core.prPred name="p4" org.eventb.core.predicate="replicator≠ballot_box∧replicator≠safety_comp∧ballot_box≠safety_comp"/>
<org.eventb.core.prPred name="p18" org.eventb.core.predicate="partition(Port,IPort,OPort)"/> <org.eventb.core.prPred name="p5" org.eventb.core.predicate="Inst≠Mdl"/>
<org.eventb.core.prPred name="p19" org.eventb.core.predicate="replicator∈Component"/> <org.eventb.core.prPred name="p7" org.eventb.core.predicate="toy_inp_1∈IPort"/>
<org.eventb.core.prPred name="p20" org.eventb.core.predicate="toy_container=(∅ ⦂ ℙ(Component×Component))"/> <org.eventb.core.prPred name="p9" org.eventb.core.predicate="partition(Port,IPort,OPort)"/>
<org.eventb.core.prPred name="p21" org.eventb.core.predicate="ballot_box∈Component"/> <org.eventb.core.prPred name="p34" org.eventb.core.predicate="Shift∩First=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p22" org.eventb.core.predicate="c_mult_others_par={replicator ↦ 3,ballot_box ↦ 1}"/> <org.eventb.core.prPred name="p46" org.eventb.core.predicate="replicator∈Component"/>
<org.eventb.core.prPred name="p23" org.eventb.core.predicate="safety_model≠toy_model"/> <org.eventb.core.prPred name="p57" org.eventb.core.predicate="{replicator ↦ safety_comp,ballot_box ↦ safety_comp};{replicator ↦ safety_comp,ballot_box ↦ safety_comp}⊆{replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
<org.eventb.core.prPred name="p24" org.eventb.core.predicate="safety_model∈Model"/> <org.eventb.core.prPred name="p10" org.eventb.core.predicate="LKind={Transpose,Identity,Shift,First,Rotate}"/>
<org.eventb.core.prPred name="p25" org.eventb.core.predicate="toy_output∈OPort"/> <org.eventb.core.prPred name="p71" org.eventb.core.predicate="finite({safety_comp ↦ toy_app}[{safety_comp}])"/>
<org.eventb.core.prPred name="p26" org.eventb.core.predicate="inst_components_par={safety_comp ↦ toy_app}"/> <org.eventb.core.prPred name="p28" org.eventb.core.predicate="Transpose∩Shift=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p27" org.eventb.core.predicate="Mdl∈Model ∖ Pattern"/> <org.eventb.core.prPred name="p47" org.eventb.core.predicate="ballot_box∈Component"/>
<org.eventb.core.prPred name="p28" org.eventb.core.predicate="Inst∈Model ∖ Pattern"/> <org.eventb.core.prPred name="p38" org.eventb.core.predicate="¬replicator=ballot_box"/>
<org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.mngHyp"/> <org.eventb.core.prPred name="p56" org.eventb.core.predicate="∀m⦂Model·container_var(m)⊆{replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
<org.eventb.core.prReas name="r1" org.eventb.core.prRID="org.eventb.smt.core.externalSMT"/> <org.eventb.core.prPred name="p18" org.eventb.core.predicate="toy_output∈OPort"/>
<org.eventb.core.prPred name="p21" org.eventb.core.predicate="inst_components_par={safety_comp ↦ toy_app}"/>
<org.eventb.core.prPred name="p59" org.eventb.core.predicate="safety_model∈dom({safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}})"/>
<org.eventb.core.prPred name="p44" org.eventb.core.predicate="(id ⦂ ℙ(Component×Component))∩f_container_var=(∅ ⦂ ℙ(Component×Component))"/>
<org.eventb.core.prPred name="p23" org.eventb.core.predicate="Inst∈Model ∖ Pattern"/>
<org.eventb.core.prPred name="p35" org.eventb.core.predicate="Shift∩Rotate=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p69" org.eventb.core.predicate="finite({safety_comp ↦ toy_app}[{pc}])">
<org.eventb.core.prIdent name="pc" org.eventb.core.type="Component"/>
</org.eventb.core.prPred>
<org.eventb.core.prPred name="p29" org.eventb.core.predicate="Transpose∩First=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.partitionRewrites"/>
<org.eventb.core.prReas name="r8" org.eventb.core.prRID="org.eventb.core.seqprover.impI"/>
<org.eventb.core.prReas name="r2" org.eventb.core.prRID="org.eventb.core.seqprover.typeRewrites:1"/>
<org.eventb.core.prReas name="r6" org.eventb.core.prRID="com.clearsy.atelierb.provers.core.externalML:1"/>
<org.eventb.core.prReas name="r5" org.eventb.core.prRID="org.eventb.core.seqprover.trueGoal"/>
<org.eventb.core.prReas name="r1" org.eventb.core.prRID="org.eventb.core.seqprover.autoRewritesL4:0"/>
<org.eventb.core.prReas name="r3" org.eventb.core.prRID="org.eventb.core.seqprover.conj:0"/>
<org.eventb.core.prReas name="r4" org.eventb.core.prRID="org.eventb.core.seqprover.eq:1"/>
<org.eventb.core.prReas name="r7" org.eventb.core.prRID="org.eventb.core.seqprover.allI"/>
</org.eventb.core.prProof> </org.eventb.core.prProof>
<org.eventb.core.prProof name="c_multiplicity_assign&#10;/THM" org.eventb.core.confidence="1000" org.eventb.core.prFresh="" org.eventb.core.prHyps="p0,p1,p2,p3,p4,p5,p6" org.eventb.core.prSets="Component,Model"> <org.eventb.core.prProof name="c_multiplicity_assign&#10;/THM" org.eventb.core.confidence="1000" org.eventb.core.prFresh="" org.eventb.core.prHyps="p0,p1,p2,p3,p4,p5,p6" org.eventb.core.prSets="Component,Model">
<org.eventb.core.lang name="L"/> <org.eventb.core.lang name="L"/>
@ -352,51 +572,368 @@
<org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.mngHyp"/> <org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.mngHyp"/>
<org.eventb.core.prReas name="r1" org.eventb.core.prRID="org.eventb.smt.core.externalSMT"/> <org.eventb.core.prReas name="r1" org.eventb.core.prRID="org.eventb.smt.core.externalSMT"/>
</org.eventb.core.prProof> </org.eventb.core.prProof>
<org.eventb.core.prProof name="to_unfold_c_var&#10;/WD" org.eventb.core.confidence="1000" org.eventb.core.prFresh="" org.eventb.core.prHyps="p0,p1,p2,p3,p4,p5,p6" org.eventb.core.prSets="Component,Model"> <org.eventb.core.prProof name="to_unfold_c_var&#10;/WD" org.eventb.core.confidence="1000" org.eventb.core.prFresh="" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28" org.eventb.core.prSets="Component,Link,Model,Port">
<org.eventb.core.lang name="L"/> <org.eventb.core.lang name="L"/>
<org.eventb.core.prRule name="r0" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="sl/ds" org.eventb.core.prHyps=""> <org.eventb.core.prRule name="r0" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="Partition rewrites in hyp (partition(Port,IPort,OPort))" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'"> <org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="SELECT0" org.eventb.core.prHyps="p7,p4,p0,p5,p2,p8,p9,p10,p11"/> <org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p19" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p29,p30"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="Z3" org.eventb.core.prHyps="p0,p1,p2,p3,p4,p5,p6"> <org.eventb.core.prHypAction name="SELECT1" org.eventb.core.prHyps="p29,p30"/>
<org.eventb.core.prString name=".arg" org.eventb.core.prSValue="R1000"/> <org.eventb.core.prRule name="r0" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="Partition rewrites in hyp (partition(Link,Transpose,Identity,Shift,First,Rotate))" org.eventb.core.prHyps="">
<org.eventb.core.prString name=".config_id" org.eventb.core.prSValue="Z3"/> <org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p4" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41"/>
<org.eventb.core.prHypAction name="SELECT1" org.eventb.core.prHyps="p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p16" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p42"/>
<org.eventb.core.prHypAction name="REWRITE1" org.eventb.core.prHidden="p15" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p43,p44,p45"/>
<org.eventb.core.prHypAction name="REWRITE2" org.eventb.core.prHidden="p24" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p46"/>
<org.eventb.core.prHypAction name="REWRITE3" org.eventb.core.prHidden="p3" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p47,p48,p49"/>
<org.eventb.core.prRule name="r2" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="type rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="HIDE0" org.eventb.core.prHyps="p50"/>
<org.eventb.core.prHypAction name="HIDE1" org.eventb.core.prHyps="p51"/>
<org.eventb.core.prHypAction name="HIDE2" org.eventb.core.prHyps="p52"/>
<org.eventb.core.prHypAction name="HIDE3" org.eventb.core.prHyps="p53"/>
<org.eventb.core.prHypAction name="HIDE4" org.eventb.core.prHyps="p54"/>
<org.eventb.core.prHypAction name="HIDE5" org.eventb.core.prHyps="p55"/>
<org.eventb.core.prHypAction name="HIDE6" org.eventb.core.prHyps="p56"/>
<org.eventb.core.prRule name="r3" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="∧ goal" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p57">
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p6">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p8" org.eventb.core.prInfHyps="p58"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p8"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with toy_container=∅" org.eventb.core.prHyps="p22">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p1" org.eventb.core.prInfHyps="p59"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p58" org.eventb.core.prInfHyps="p60"/>
<org.eventb.core.prHypAction name="DESELECT2" org.eventb.core.prHyps="p1,p58"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with components_var={safety_model ↦ {replicator,ballot_box,safety_comp},toy_model ↦ {toy_app}}" org.eventb.core.prGoal="p57" org.eventb.core.prHyps="p5">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p61">
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prGoal="p61" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p62">
<org.eventb.core.prRule name="r5" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="⊤ goal" org.eventb.core.prGoal="p62" org.eventb.core.prHyps=""/>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule> </org.eventb.core.prRule>
</org.eventb.core.prAnte> </org.eventb.core.prAnte>
</org.eventb.core.prRule> </org.eventb.core.prRule>
</org.eventb.core.prAnte>
<org.eventb.core.prAnte name="(" org.eventb.core.prGoal="p63">
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p6">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p8" org.eventb.core.prInfHyps="p58"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p8"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with toy_container=∅" org.eventb.core.prHyps="p22">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p1" org.eventb.core.prInfHyps="p59"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p58" org.eventb.core.prInfHyps="p60"/>
<org.eventb.core.prHypAction name="DESELECT2" org.eventb.core.prHyps="p1,p58"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with components_var={safety_model ↦ {replicator,ballot_box,safety_comp},toy_model ↦ {toy_app}}" org.eventb.core.prGoal="p63" org.eventb.core.prHyps="p5">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p64">
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p12">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p47" org.eventb.core.prInfHyps="p65"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p48" org.eventb.core.prInfHyps="p66"/>
<org.eventb.core.prHypAction name="FORWARD_INF2" org.eventb.core.prHyps="p49" org.eventb.core.prInfHyps="p67"/>
<org.eventb.core.prHypAction name="DESELECT3" org.eventb.core.prHyps="p47,p48,p49"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with inst_components_par={safety_comp ↦ toy_app}" org.eventb.core.prHyps="p27">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p2" org.eventb.core.prInfHyps="p68"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p2"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p68" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p69"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with c_mult_others_par={replicator ↦ 3,ballot_box ↦ 1}" org.eventb.core.prHyps="p23">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p69" org.eventb.core.prInfHyps="p70"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p69"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with c_multiplicity_var={safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}" org.eventb.core.prHyps="p11">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p70" org.eventb.core.prInfHyps="p71"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p70"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p71" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p72"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with container_var={safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ ∅}" org.eventb.core.prHyps="p60">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p65" org.eventb.core.prInfHyps="p73"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p65"/>
<org.eventb.core.prRule name="r6" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="ML" org.eventb.core.prGoal="p64" org.eventb.core.prHyps="p26,p10,p28,p20,p6,p1,p22,p13,p18,p9,p25,p5,p8,p12,p27,p23,p11,p2,p14,p17,p7,p21,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p58,p59,p60,p65,p66,p67,p69,p70,p72,p73">
<org.eventb.core.prString name=".arg" org.eventb.core.prSValue="0;1:500"/>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
<org.eventb.core.prAnte name=")" org.eventb.core.prGoal="p74">
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p6">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p8" org.eventb.core.prInfHyps="p58"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p8"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with toy_container=∅" org.eventb.core.prHyps="p22">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p1" org.eventb.core.prInfHyps="p59"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p58" org.eventb.core.prInfHyps="p60"/>
<org.eventb.core.prHypAction name="DESELECT2" org.eventb.core.prHyps="p1,p58"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p12">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p47" org.eventb.core.prInfHyps="p65"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p48" org.eventb.core.prInfHyps="p66"/>
<org.eventb.core.prHypAction name="FORWARD_INF2" org.eventb.core.prHyps="p49" org.eventb.core.prInfHyps="p67"/>
<org.eventb.core.prHypAction name="DESELECT3" org.eventb.core.prHyps="p47,p48,p49"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with inst_components_par={safety_comp ↦ toy_app}" org.eventb.core.prHyps="p27">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p2" org.eventb.core.prInfHyps="p68"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p2"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p68" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p69"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with c_mult_others_par={replicator ↦ 3,ballot_box ↦ 1}" org.eventb.core.prHyps="p23">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p69" org.eventb.core.prInfHyps="p70"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p69"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with c_multiplicity_var={safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}" org.eventb.core.prHyps="p11">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p70" org.eventb.core.prInfHyps="p71"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p70"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p71" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p72"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with container_var={safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ ∅}" org.eventb.core.prGoal="p74" org.eventb.core.prHyps="p60">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p75">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p65" org.eventb.core.prInfHyps="p73"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p65"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prGoal="p75" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p62">
<org.eventb.core.prRule name="r5" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="⊤ goal" org.eventb.core.prGoal="p62" org.eventb.core.prHyps=""/>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
<org.eventb.core.prAnte name="*" org.eventb.core.prGoal="p76">
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p6">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p8" org.eventb.core.prInfHyps="p58"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p8"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with toy_container=∅" org.eventb.core.prHyps="p22">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p1" org.eventb.core.prInfHyps="p59"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p58" org.eventb.core.prInfHyps="p60"/>
<org.eventb.core.prHypAction name="DESELECT2" org.eventb.core.prHyps="p1,p58"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p12">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p47" org.eventb.core.prInfHyps="p65"/>
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p48" org.eventb.core.prInfHyps="p66"/>
<org.eventb.core.prHypAction name="FORWARD_INF2" org.eventb.core.prHyps="p49" org.eventb.core.prInfHyps="p67"/>
<org.eventb.core.prHypAction name="DESELECT3" org.eventb.core.prHyps="p47,p48,p49"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with inst_components_par={safety_comp ↦ toy_app}" org.eventb.core.prHyps="p27">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p2" org.eventb.core.prInfHyps="p68"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p2"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p68" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p69"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with c_mult_others_par={replicator ↦ 3,ballot_box ↦ 1}" org.eventb.core.prHyps="p23">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p69" org.eventb.core.prInfHyps="p70"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p69"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with c_multiplicity_var={safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}" org.eventb.core.prHyps="p11">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p70" org.eventb.core.prInfHyps="p71"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p70"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p71" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p72"/>
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with container_var={safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ ∅}" org.eventb.core.prGoal="p76" org.eventb.core.prHyps="p60">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p77">
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p65" org.eventb.core.prInfHyps="p73"/>
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p65"/>
<org.eventb.core.prRule name="r6" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="ML" org.eventb.core.prGoal="p77" org.eventb.core.prHyps="p26,p10,p28,p20,p6,p1,p22,p13,p18,p9,p25,p5,p8,p12,p27,p23,p11,p2,p14,p17,p7,p21,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p58,p59,p60,p65,p66,p67,p69,p70,p72,p73">
<org.eventb.core.prString name=".arg" org.eventb.core.prSValue="0;1:500"/>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
<org.eventb.core.prString name=".pos" org.eventb.core.prSValue=""/>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
<org.eventb.core.prString name=".pos" org.eventb.core.prSValue=""/>
</org.eventb.core.prRule>
<org.eventb.core.prIdent name="First" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.prIdent name="IPort" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.prIdent name="Identity" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.prIdent name="Inst" org.eventb.core.type="Model"/> <org.eventb.core.prIdent name="Inst" org.eventb.core.type="Model"/>
<org.eventb.core.prIdent name="LKind" org.eventb.core.type="ℙ(ℙ(Link))"/>
<org.eventb.core.prIdent name="Mdl" org.eventb.core.type="Model"/> <org.eventb.core.prIdent name="Mdl" org.eventb.core.type="Model"/>
<org.eventb.core.prIdent name="OPort" org.eventb.core.type="ℙ(Port)"/>
<org.eventb.core.prIdent name="Pat" org.eventb.core.type="Model"/> <org.eventb.core.prIdent name="Pat" org.eventb.core.type="Model"/>
<org.eventb.core.prIdent name="Pattern" org.eventb.core.type="ℙ(Model)"/> <org.eventb.core.prIdent name="Pattern" org.eventb.core.type="ℙ(Model)"/>
<org.eventb.core.prIdent name="Rotate" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.prIdent name="Shift" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.prIdent name="Transpose" org.eventb.core.type="ℙ(Link)"/>
<org.eventb.core.prIdent name="ballot_box" org.eventb.core.type="Component"/> <org.eventb.core.prIdent name="ballot_box" org.eventb.core.type="Component"/>
<org.eventb.core.prIdent name="c_mult_others_par" org.eventb.core.type="ℙ(Component×ℤ)"/>
<org.eventb.core.prIdent name="c_multiplicity_var" org.eventb.core.type="ℙ(Model×ℙ(Component×ℤ))"/>
<org.eventb.core.prIdent name="components_var" org.eventb.core.type="ℙ(Model×ℙ(Component))"/>
<org.eventb.core.prIdent name="container_var" org.eventb.core.type="ℙ(Model×ℙ(Component×Component))"/>
<org.eventb.core.prIdent name="f_container_var" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.prIdent name="inst_components_par" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.prIdent name="replicator" org.eventb.core.type="Component"/> <org.eventb.core.prIdent name="replicator" org.eventb.core.type="Component"/>
<org.eventb.core.prIdent name="safety_comp" org.eventb.core.type="Component"/> <org.eventb.core.prIdent name="safety_comp" org.eventb.core.type="Component"/>
<org.eventb.core.prIdent name="safety_container" org.eventb.core.type="ℙ(Component×Component)"/> <org.eventb.core.prIdent name="safety_container" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.prIdent name="safety_model" org.eventb.core.type="Model"/> <org.eventb.core.prIdent name="safety_model" org.eventb.core.type="Model"/>
<org.eventb.core.prIdent name="to_unfold_c_var" org.eventb.core.type="ℙ(Component)"/>
<org.eventb.core.prIdent name="toy_app" org.eventb.core.type="Component"/>
<org.eventb.core.prIdent name="toy_container" org.eventb.core.type="ℙ(Component×Component)"/>
<org.eventb.core.prIdent name="toy_inp_1" org.eventb.core.type="Port"/>
<org.eventb.core.prIdent name="toy_inp_2" org.eventb.core.type="Port"/>
<org.eventb.core.prIdent name="toy_model" org.eventb.core.type="Model"/> <org.eventb.core.prIdent name="toy_model" org.eventb.core.type="Model"/>
<org.eventb.core.prPred name="p0" org.eventb.core.predicate="Pat∈Pattern"/> <org.eventb.core.prIdent name="toy_output" org.eventb.core.type="Port"/>
<org.eventb.core.prPred name="p7" org.eventb.core.predicate="Pattern⊆Model"/> <org.eventb.core.prPred name="p1" org.eventb.core.predicate="toy_container∈Component ⇸ Component"/>
<org.eventb.core.prPred name="p1" org.eventb.core.predicate="replicator≠ballot_box∧replicator≠safety_comp∧ballot_box≠safety_comp"/> <org.eventb.core.prPred name="p50" org.eventb.core.predicate="Pattern⊆Model"/>
<org.eventb.core.prPred name="p2" org.eventb.core.predicate="Inst≠Mdl"/> <org.eventb.core.prPred name="p4" org.eventb.core.predicate="partition(Link,Transpose,Identity,Shift,First,Rotate)"/>
<org.eventb.core.prPred name="p10" org.eventb.core.predicate="c_multiplicity_var∈Model ⇸ ℙ(Component × ℤ)"> <org.eventb.core.prPred name="p35" org.eventb.core.predicate="Transpose∩Rotate=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prIdent name="c_multiplicity_var" org.eventb.core.type="ℙ(Model×ℙ(Component×ℤ))"/> <org.eventb.core.prPred name="p76" org.eventb.core.predicate="container_var∈Model ⇸ ℙ(Component × Component)"/>
</org.eventb.core.prPred> <org.eventb.core.prPred name="p58" org.eventb.core.predicate="container_var={safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ toy_container}"/>
<org.eventb.core.prPred name="p3" org.eventb.core.predicate="safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/> <org.eventb.core.prPred name="p56" org.eventb.core.predicate="toy_app∈Component"/>
<org.eventb.core.prPred name="p8" org.eventb.core.predicate="partition(Port,IPort,OPort)"> <org.eventb.core.prPred name="p74" org.eventb.core.predicate="safety_model∈dom(container_var)"/>
<org.eventb.core.prIdent name="IPort" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.prPred name="p7" org.eventb.core.predicate="∀pc⦂Component·pc∈dom(inst_components_par)⇒finite(inst_components_par[{pc}])"/>
<org.eventb.core.prIdent name="OPort" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.prPred name="p10" org.eventb.core.predicate="Pat∈Pattern"/>
<org.eventb.core.prIdent name="Port" org.eventb.core.type="ℙ(Port)"/> <org.eventb.core.prPred name="p36" org.eventb.core.predicate="Identity∩Shift=(∅ ⦂ ℙ(Link))"/>
</org.eventb.core.prPred> <org.eventb.core.prPred name="p70" org.eventb.core.predicate="c_multiplicity_var(safety_model)={replicator ↦ 3,ballot_box ↦ 1}{pc⦂Component·pc=safety_comp ∣ pc ↦ card({safety_comp ↦ toy_app}[{pc}])}"/>
<org.eventb.core.prPred name="p4" org.eventb.core.predicate="Mdl∈Model ∖ Pattern"/> <org.eventb.core.prPred name="p72" org.eventb.core.predicate="{safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}={replicator ↦ 3,ballot_box ↦ 1}{pc⦂Component·pc=safety_comp ∣ pc ↦ card({safety_comp ↦ toy_app}[{pc}])}"/>
<org.eventb.core.prPred name="p5" org.eventb.core.predicate="Inst∈Model ∖ Pattern"/> <org.eventb.core.prPred name="p12" org.eventb.core.predicate="f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
<org.eventb.core.prPred name="p6" org.eventb.core.predicate="Model={safety_model,toy_model}"/> <org.eventb.core.prPred name="p71" org.eventb.core.predicate="{safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}(safety_model)={replicator ↦ 3,ballot_box ↦ 1}{pc⦂Component·pc=safety_comp ∣ pc ↦ card({safety_comp ↦ toy_app}[{pc}])}"/>
<org.eventb.core.prPred name="p11" org.eventb.core.predicate="∀pc⦂Component·pc∈dom(inst_components_par)⇒finite(inst_components_par[{pc}])"> <org.eventb.core.prPred name="p13" org.eventb.core.predicate="Model={safety_model,toy_model}"/>
<org.eventb.core.prIdent name="inst_components_par" org.eventb.core.type="ℙ(Component×Component)"/> <org.eventb.core.prPred name="p48" org.eventb.core.predicate="f_container_var;f_container_var⊆f_container_var"/>
</org.eventb.core.prPred> <org.eventb.core.prPred name="p53" org.eventb.core.predicate="safety_comp∈Component"/>
<org.eventb.core.prPred name="p9" org.eventb.core.predicate="safety_model∈dom(c_multiplicity_var)"> <org.eventb.core.prPred name="p45" org.eventb.core.predicate="¬ballot_box=safety_comp"/>
<org.eventb.core.prIdent name="c_multiplicity_var" org.eventb.core.type="ℙ(Model×ℙ(Component×ℤ))"/> <org.eventb.core.prPred name="p17" org.eventb.core.predicate="c_multiplicity_var∈Model ⇸ ℙ(Component × ℤ)"/>
</org.eventb.core.prPred> <org.eventb.core.prPred name="p21" org.eventb.core.predicate="to_unfold_c_var={safety_comp}"/>
<org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.mngHyp"/> <org.eventb.core.prPred name="p22" org.eventb.core.predicate="toy_container=(∅ ⦂ ℙ(Component×Component))"/>
<org.eventb.core.prReas name="r1" org.eventb.core.prRID="org.eventb.smt.core.externalSMT"/> <org.eventb.core.prPred name="p32" org.eventb.core.predicate="Transpose∩Identity=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p31" org.eventb.core.predicate="Link=Transpose∪Identity∪Shift∪First∪Rotate"/>
<org.eventb.core.prPred name="p23" org.eventb.core.predicate="c_mult_others_par={replicator ↦ 3,ballot_box ↦ 1}"/>
<org.eventb.core.prPred name="p24" org.eventb.core.predicate="safety_model≠toy_model"/>
<org.eventb.core.prPred name="p29" org.eventb.core.predicate="Port=IPort∪OPort"/>
<org.eventb.core.prPred name="p30" org.eventb.core.predicate="IPort∩OPort=(∅ ⦂ ℙ(Port))"/>
<org.eventb.core.prPred name="p77" org.eventb.core.predicate="{safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ (∅ ⦂ ℙ(Component×Component))}∈Model ⇸ ℙ(Component × Component)"/>
<org.eventb.core.prPred name="p54" org.eventb.core.predicate="safety_model∈Model"/>
<org.eventb.core.prPred name="p26" org.eventb.core.predicate="Mdl∈Model ∖ Pattern"/>
<org.eventb.core.prPred name="p38" org.eventb.core.predicate="Identity∩Rotate=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p44" org.eventb.core.predicate="¬replicator=safety_comp"/>
<org.eventb.core.prPred name="p42" org.eventb.core.predicate="¬Inst=Mdl"/>
<org.eventb.core.prPred name="p67" org.eventb.core.predicate="(id ⦂ ℙ(Component×Component))∩{replicator ↦ safety_comp,ballot_box ↦ safety_comp}=(∅ ⦂ ℙ(Component×Component))"/>
<org.eventb.core.prPred name="p2" org.eventb.core.predicate="c_multiplicity_var(safety_model)=c_mult_others_par{pc⦂Component·pc∈dom(inst_components_par) ∣ pc ↦ card(inst_components_par[{pc}])}"/>
<org.eventb.core.prPred name="p3" org.eventb.core.predicate="∀m⦂Model·container_var(m)⊆f_container_var∧f_container_var;f_container_var⊆f_container_var∧(id ⦂ ℙ(Component×Component))∩f_container_var=(∅ ⦂ ℙ(Component×Component))"/>
<org.eventb.core.prPred name="p5" org.eventb.core.predicate="components_var={safety_model ↦ {replicator,ballot_box,safety_comp},toy_model ↦ {toy_app}}"/>
<org.eventb.core.prPred name="p63" org.eventb.core.predicate="components_var∈Model ⇸ ℙ(Component)"/>
<org.eventb.core.prPred name="p6" org.eventb.core.predicate="safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
<org.eventb.core.prPred name="p46" org.eventb.core.predicate="¬safety_model=toy_model"/>
<org.eventb.core.prPred name="p60" org.eventb.core.predicate="container_var={safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ (∅ ⦂ ℙ(Component×Component))}"/>
<org.eventb.core.prPred name="p8" org.eventb.core.predicate="container_var={safety_model ↦ safety_container,toy_model ↦ toy_container}"/>
<org.eventb.core.prPred name="p9" org.eventb.core.predicate="toy_inp_2∈IPort"/>
<org.eventb.core.prPred name="p0" org.eventb.core.predicate="safety_model∈dom(components_var)∧components_var∈Model ⇸ ℙ(Component)∧safety_model∈dom(container_var)∧container_var∈Model ⇸ ℙ(Component × Component)"/>
<org.eventb.core.prPred name="p11" org.eventb.core.predicate="c_multiplicity_var={safety_model ↦ {safety_comp ↦ 1,replicator ↦ 3,ballot_box ↦ 1}}"/>
<org.eventb.core.prPred name="p61" org.eventb.core.predicate="safety_model∈dom({safety_model ↦ {replicator,ballot_box,safety_comp},toy_model ↦ {toy_app}})"/>
<org.eventb.core.prPred name="p59" org.eventb.core.predicate="(∅ ⦂ ℙ(Component×Component))∈Component ⇸ Component"/>
<org.eventb.core.prPred name="p64" org.eventb.core.predicate="{safety_model ↦ {replicator,ballot_box,safety_comp},toy_model ↦ {toy_app}}∈Model ⇸ ℙ(Component)"/>
<org.eventb.core.prPred name="p68" org.eventb.core.predicate="c_multiplicity_var(safety_model)=c_mult_others_par{pc⦂Component·pc∈dom({safety_comp ↦ toy_app}) ∣ pc ↦ card({safety_comp ↦ toy_app}[{pc}])}"/>
<org.eventb.core.prPred name="p41" org.eventb.core.predicate="First∩Rotate=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p37" org.eventb.core.predicate="Identity∩First=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p75" org.eventb.core.predicate="safety_model∈dom({safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ (∅ ⦂ ℙ(Component×Component))})"/>
<org.eventb.core.prPred name="p14" org.eventb.core.predicate="safety_model∈dom(c_multiplicity_var)"/>
<org.eventb.core.prPred name="p55" org.eventb.core.predicate="toy_model∈Model"/>
<org.eventb.core.prPred name="p47" org.eventb.core.predicate="∀m⦂Model·container_var(m)⊆f_container_var"/>
<org.eventb.core.prPred name="p62" org.eventb.core.predicate="⊤"/>
<org.eventb.core.prPred name="p73" org.eventb.core.predicate="∀m⦂Model·{safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ (∅ ⦂ ℙ(Component×Component))}(m)⊆{replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
<org.eventb.core.prPred name="p15" org.eventb.core.predicate="replicator≠ballot_box∧replicator≠safety_comp∧ballot_box≠safety_comp"/>
<org.eventb.core.prPred name="p57" org.eventb.core.predicate="safety_model∈dom(components_var)"/>
<org.eventb.core.prPred name="p16" org.eventb.core.predicate="Inst≠Mdl"/>
<org.eventb.core.prPred name="p18" org.eventb.core.predicate="toy_inp_1∈IPort"/>
<org.eventb.core.prPred name="p19" org.eventb.core.predicate="partition(Port,IPort,OPort)"/>
<org.eventb.core.prPred name="p39" org.eventb.core.predicate="Shift∩First=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p51" org.eventb.core.predicate="replicator∈Component"/>
<org.eventb.core.prPred name="p66" org.eventb.core.predicate="{replicator ↦ safety_comp,ballot_box ↦ safety_comp};{replicator ↦ safety_comp,ballot_box ↦ safety_comp}⊆{replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
<org.eventb.core.prPred name="p20" org.eventb.core.predicate="LKind={Transpose,Identity,Shift,First,Rotate}"/>
<org.eventb.core.prPred name="p33" org.eventb.core.predicate="Transpose∩Shift=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p52" org.eventb.core.predicate="ballot_box∈Component"/>
<org.eventb.core.prPred name="p43" org.eventb.core.predicate="¬replicator=ballot_box"/>
<org.eventb.core.prPred name="p65" org.eventb.core.predicate="∀m⦂Model·container_var(m)⊆{replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
<org.eventb.core.prPred name="p25" org.eventb.core.predicate="toy_output∈OPort"/>
<org.eventb.core.prPred name="p27" org.eventb.core.predicate="inst_components_par={safety_comp ↦ toy_app}"/>
<org.eventb.core.prPred name="p49" org.eventb.core.predicate="(id ⦂ ℙ(Component×Component))∩f_container_var=(∅ ⦂ ℙ(Component×Component))"/>
<org.eventb.core.prPred name="p28" org.eventb.core.predicate="Inst∈Model ∖ Pattern"/>
<org.eventb.core.prPred name="p40" org.eventb.core.predicate="Shift∩Rotate=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prPred name="p69" org.eventb.core.predicate="c_multiplicity_var(safety_model)=c_mult_others_par{pc⦂Component·pc=safety_comp ∣ pc ↦ card({safety_comp ↦ toy_app}[{pc}])}"/>
<org.eventb.core.prPred name="p34" org.eventb.core.predicate="Transpose∩First=(∅ ⦂ ℙ(Link))"/>
<org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.partitionRewrites"/>
<org.eventb.core.prReas name="r2" org.eventb.core.prRID="org.eventb.core.seqprover.typeRewrites:1"/>
<org.eventb.core.prReas name="r6" org.eventb.core.prRID="com.clearsy.atelierb.provers.core.externalML:1"/>
<org.eventb.core.prReas name="r5" org.eventb.core.prRID="org.eventb.core.seqprover.trueGoal"/>
<org.eventb.core.prReas name="r1" org.eventb.core.prRID="org.eventb.core.seqprover.autoRewritesL4:0"/>
<org.eventb.core.prReas name="r3" org.eventb.core.prRID="org.eventb.core.seqprover.conj:0"/>
<org.eventb.core.prReas name="r4" org.eventb.core.prRID="org.eventb.core.seqprover.eq:1"/>
</org.eventb.core.prProof> </org.eventb.core.prProof>
<org.eventb.core.prProof name="to_unfold_c_var&#10;/THM" org.eventb.core.confidence="1000" org.eventb.core.prFresh="" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37" org.eventb.core.prSets="Component,Model,Port"> <org.eventb.core.prProof name="to_unfold_c_var&#10;/THM" org.eventb.core.confidence="1000" org.eventb.core.prFresh="" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37" org.eventb.core.prSets="Component,Model,Port">
<org.eventb.core.lang name="L"/> <org.eventb.core.lang name="L"/>

9
Event-B/pseim/pattern_safety.bps

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.psFile>
<org.eventb.core.psStatus name="f_acycl/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="2" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="f_acycl/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="2" org.eventb.core.psBroken="true" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="c_multiplicity_assign&#10;/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="2" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="c_multiplicity_assign&#10;/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="2" org.eventb.core.psBroken="true" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="to_unfold_c_var&#10;/WD" org.eventb.core.confidence="1000" org.eventb.core.poStamp="2" org.eventb.core.psManual="false"/>
<org.eventb.core.psStatus name="to_unfold_c_var&#10;/THM" org.eventb.core.confidence="1000" org.eventb.core.poStamp="2" org.eventb.core.psBroken="true" org.eventb.core.psManual="false"/>
</org.eventb.core.psFile>

31
Event-B/pseim/preuves.txt

@ -1,3 +1,12 @@
VARIANT: nbre de chemins restant à construire
chemin = {s |-> i | s : subc(root) & i <= mult(s)}
ens des chemins =
{ch: subc(root) -> NAT | !s. s:dom(ch) => ch(s) <= mult(s)}
====================
inter({sc·x∈sc∧container∼[sc]⊆sc ∣ sc}) /= {}
en prenant {x}\/f~[{x}]
===================
L1: new_components;f0 = {} L1: new_components;f0 = {}
L2: f0;new_components~ = {} L2: f0;new_components~ = {}
@ -34,3 +43,25 @@ pour unfold_node acyclic
apply_pattern_link_oo: apply_pattern_link_oo:
ajouter XXX;(inst_comp \/ new_com); (inst_comp\/new_comp)~= XXX ajouter XXX;(inst_comp \/ new_com); (inst_comp\/new_comp)~= XXX
============================================
UNION c. 1..card(to_unfold_c ∩ {c}) ∪ to_unfold_c_in[{c}])
** (containers∼[{c}] +-> 0‥M)
(containers \/ id)~[to_unfold_c \/ dom(to_unfold_c_in)] +-> 0..M \/
containers~[to_unfold_c] ** 0..M \/
to_unfold_c ** 0..0 \/
{c|->i | c:dom(to_unfold_c_in) & i:0..card(to_unfold_c_in[{c}])}
{f | f: ((containers\/id)~[dom(to_unfold_c_in)] \/ dom(to_unfold_c_in) +-> 0..M
& !c. c:dom(to_unfold_c_in) /\ dom(f) => f(c) : 0..card(to_unfold_c_in[{c}])
& !c. c:to_unfold_c /\ dom(f) => f(c) = 0
}
#c * weight(c)
w(c):=w(c)-M^h(c) || ||_sc<c w(sc):=w(sc)+M^(h(c)-1)
c,i --> SC(c)+-> 0..M
sc --> SC(sc) ** {i} +-> 0..M
ordre lexico sur c1,...cN trie par <
(c,i) ==> ajout de (sc,i1) ... (sc,im)
(c,j) ==> ajout de (sc,j1) ... (sc,jm)

52
Event-B/pseim/test.bpr

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.prFile version="1">
<org.eventb.core.prProof name="e/r1/INV" org.eventb.core.confidence="1000" org.eventb.core.prFresh="" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p1,p2,p3">
<org.eventb.core.lang name="L"/>
<org.eventb.core.prRule name="r0" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p1" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p4"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="ML" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p2,p3,p4">
<org.eventb.core.prString name=".arg" org.eventb.core.prSValue="0;1:500"/>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
<org.eventb.core.prIdent name="r" org.eventb.core.type="ℙ(ℤ×ℤ)"/>
<org.eventb.core.prPred name="p1" org.eventb.core.predicate="0∉ran(r)"/>
<org.eventb.core.prPred name="p4" org.eventb.core.predicate="¬0∈ran(r)"/>
<org.eventb.core.prPred name="p0" org.eventb.core.predicate="r{0 ↦ 0}∈ℕ ↔ ℕ"/>
<org.eventb.core.prPred name="p2" org.eventb.core.predicate="r∈ℕ ↔ ℕ"/>
<org.eventb.core.prPred name="p3" org.eventb.core.predicate="r∼∈ℕ → ℕ"/>
<org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.autoRewritesL4:0"/>
<org.eventb.core.prReas name="r1" org.eventb.core.prRID="com.clearsy.atelierb.provers.core.externalML:1"/>
</org.eventb.core.prProof>
<org.eventb.core.prProof name="e/r2/INV" org.eventb.core.confidence="1000" org.eventb.core.prFresh="" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p1,p2">
<org.eventb.core.lang name="L"/>
<org.eventb.core.prRule name="r0" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'">
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p1" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p3"/>
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="PP" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p2,p3">
<org.eventb.core.prString name=".arg" org.eventb.core.prSValue="R500"/>
</org.eventb.core.prRule>
</org.eventb.core.prAnte>
</org.eventb.core.prRule>
<org.eventb.core.prIdent name="r" org.eventb.core.type="ℙ(ℤ×ℤ)"/>
<org.eventb.core.prPred name="p1" org.eventb.core.predicate="0∉ran(r)"/>
<org.eventb.core.prPred name="p0" org.eventb.core.predicate="(r{0 ↦ 0})∼∈ℕ → ℕ"/>
<org.eventb.core.prPred name="p3" org.eventb.core.predicate="¬0∈ran(r)"/>
<org.eventb.core.prPred name="p2" org.eventb.core.predicate="r∼∈ℕ → ℕ"/>
<org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.autoRewritesL4:0"/>
<org.eventb.core.prReas name="r1" org.eventb.core.prRID="com.clearsy.atelierb.provers.core.externalPP:1"/>
</org.eventb.core.prProof>
<org.eventb.core.prProof name="e/r/WD" org.eventb.core.confidence="0" org.eventb.core.prFresh="" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="">
<org.eventb.core.lang name="L"/>
<org.eventb.core.prRule name="r0" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="∧ goal" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="">
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p1"/>
<org.eventb.core.prAnte name="(" org.eventb.core.prGoal="p2"/>
</org.eventb.core.prRule>
<org.eventb.core.prIdent name="r" org.eventb.core.type="ℙ(ℤ×ℤ)"/>
<org.eventb.core.prPred name="p2" org.eventb.core.predicate="r∈ℤ ⇸ ℤ"/>
<org.eventb.core.prPred name="p0" org.eventb.core.predicate="0∈dom(r)∧r∈ℤ ⇸ ℤ"/>
<org.eventb.core.prPred name="p1" org.eventb.core.predicate="0∈dom(r)"/>
<org.eventb.core.prReas name="r0" org.eventb.core.prRID="org.eventb.core.seqprover.conj:0"/>
</org.eventb.core.prProof>
</org.eventb.core.prFile>
Loading…
Cancel
Save