mirror of
http://172.16.200.102/MOISE/Pattern-Instanciation-On-System-Engineering-Model.git
synced 2025-11-26 00:27:59 +01:00
Initial commit.
This commit is contained in:
17
Event-B/pseim/.project
Normal file
17
Event-B/pseim/.project
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>pseim</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.rodinp.core.rodinbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.rodinp.core.rodinnature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
23
Event-B/pseim/README.md
Normal file
23
Event-B/pseim/README.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Patterns for SEIM Event-B models
|
||||
|
||||
## Contributors
|
||||
|
||||
Jean-Paul Bodeveix, Arnaud Dieumegard, Mamoun Filali
|
||||
|
||||
## Content
|
||||
|
||||
This project contains the Event-B models for the formalization of pattern instantiations on system engineering models.
|
||||
|
||||
### Structure
|
||||
|
||||

|
||||
|
||||
### Documentation
|
||||
|
||||
Documentation on the content of these models is provided on the deliverable.
|
||||
|
||||
### Additional elements
|
||||
|
||||
An other context is provided: pattern_safety.
|
||||
This model contains the first version of an instance of pattern directly encoded using Event-B.
|
||||
Using simulation tools such as Pro-B on this model may produce an instance of Model where the pattern is instantiated. This shall be checked as it is only a prototype.
|
||||
18
Event-B/pseim/cComponent.bcc
Normal file
18
Event-B/pseim/cComponent.bcc
Normal file
@@ -0,0 +1,18 @@
|
||||
<?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.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.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="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="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="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_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.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="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.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.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="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.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.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.scContextFile>
|
||||
2
Event-B/pseim/cComponent.bpr
Normal file
2
Event-B/pseim/cComponent.bpr
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<org.eventb.core.prFile version="1"/>
|
||||
5
Event-B/pseim/cComponent.buc
Normal file
5
Event-B/pseim/cComponent.buc
Normal file
@@ -0,0 +1,5 @@
|
||||
<?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 sets Component end " version="3">
|
||||
<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.contextFile>
|
||||
37
Event-B/pseim/cLink.bcc
Normal file
37
Event-B/pseim/cLink.bcc
Normal file
@@ -0,0 +1,37 @@
|
||||
<?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="/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.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="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="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="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_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.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="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.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.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="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.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.scInternalContext>
|
||||
<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.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.scInternalContext>
|
||||
<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.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.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="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.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.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="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.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="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="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.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.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="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="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.scContextFile>
|
||||
32
Event-B/pseim/cLink.bpo
Normal file
32
Event-B/pseim/cLink.bpo
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<org.eventb.core.poFile org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.poStamp="0">
|
||||
<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="/pseim/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="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="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≠Mdl" org.eventb.core.source="/pseim/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="/pseim/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.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.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="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.poPredicateSet>
|
||||
</org.eventb.core.poFile>
|
||||
2
Event-B/pseim/cLink.bpr
Normal file
2
Event-B/pseim/cLink.bpr
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<org.eventb.core.prFile version="1"/>
|
||||
2
Event-B/pseim/cLink.bps
Normal file
2
Event-B/pseim/cLink.bps
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<org.eventb.core.psFile/>
|
||||
13
Event-B/pseim/cLink.buc
Normal file
13
Event-B/pseim/cLink.buc
Normal file
@@ -0,0 +1,13 @@
|
||||
<?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.codegen.ui.cgConfig" org.eventb.texttools.text_lastmodified="1516029848931" org.eventb.texttools.text_representation="context cLink extends cPort sets Link constants 	LKind Transpose Identity Shift First Rotate axioms 	@link_k partition(Link, Transpose, Identity, Shift, First, Rotate) 	@LKind LKind = {Transpose, Identity, Shift, First, Rotate} end " version="3">
|
||||
<org.eventb.core.extendsContext name="'" org.eventb.core.target="cPort"/>
|
||||
<org.eventb.core.constant name="_u1ZfsPgzEeeeS5KQUtrGlw" org.eventb.core.identifier="LKind"/>
|
||||
<org.eventb.core.axiom name="_u1ZfsfgzEeeeS5KQUtrGlw" org.eventb.core.label="link_k" org.eventb.core.predicate="partition(Link, Transpose, Identity, Shift, First, Rotate)"/>
|
||||
<org.eventb.core.axiom name="_u1ZfsvgzEeeeS5KQUtrGlw" org.eventb.core.label="LKind" org.eventb.core.predicate="LKind = {Transpose, Identity, Shift, First, Rotate}"/>
|
||||
<org.eventb.core.constant name="_WzjhMPg8EeeeS5KQUtrGlw" org.eventb.core.identifier="Transpose"/>
|
||||
<org.eventb.core.constant name="_WzjhMfg8EeeeS5KQUtrGlw" org.eventb.core.identifier="Identity"/>
|
||||
<org.eventb.core.constant name="_WzjhMvg8EeeeS5KQUtrGlw" org.eventb.core.identifier="Shift"/>
|
||||
<org.eventb.core.constant name="_WzjhM_g8EeeeS5KQUtrGlw" org.eventb.core.identifier="First"/>
|
||||
<org.eventb.core.constant name="_WzjhNPg8EeeeS5KQUtrGlw" org.eventb.core.identifier="Rotate"/>
|
||||
<org.eventb.core.carrierSet name="_IabHcPoIEeeOzddrJxUeNA" org.eventb.core.identifier="Link"/>
|
||||
</org.eventb.core.contextFile>
|
||||
14
Event-B/pseim/cModel.bcc
Normal file
14
Event-B/pseim/cModel.bcc
Normal file
@@ -0,0 +1,14 @@
|
||||
<?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.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="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="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="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_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.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="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.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.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="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.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.scContextFile>
|
||||
2
Event-B/pseim/cModel.bpr
Normal file
2
Event-B/pseim/cModel.bpr
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<org.eventb.core.prFile version="1"/>
|
||||
14
Event-B/pseim/cModel.buc
Normal file
14
Event-B/pseim/cModel.buc
Normal file
@@ -0,0 +1,14 @@
|
||||
<?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 sets Model Property constants Mdl Pattern Pat Inst axioms @Pattern_ty Pattern ⊆ Model @Mdl_ty Mdl ∈ Model ∖ Pattern @Pat_ty Pat ∈ Pattern @Inst_ty Inst ∈ Model ∖ Pattern @Inst_Mdl Inst ≠ Mdl end " version="3">
|
||||
<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="_h20wcPqkEeectLZKwQfI0A" org.eventb.core.identifier="Pattern"/>
|
||||
<org.eventb.core.axiom name="_h20wcfqkEeectLZKwQfI0A" org.eventb.core.label="Pattern_ty" org.eventb.core.predicate="Pattern ⊆ Model"/>
|
||||
<org.eventb.core.axiom name="_h20wcvqkEeectLZKwQfI0A" org.eventb.core.label="Mdl_ty" org.eventb.core.predicate="Mdl ∈ Model ∖ Pattern"/>
|
||||
<org.eventb.core.axiom name="_h20wc_qkEeectLZKwQfI0A" org.eventb.core.label="Pat_ty" org.eventb.core.predicate="Pat ∈ Pattern"/>
|
||||
<org.eventb.core.constant name="_b4aBsPraEeerIsS6OyYQ4w" org.eventb.core.identifier="Pat"/>
|
||||
<org.eventb.core.carrierSet name="_9dBM4ADlEei-meqqkXX9bA" org.eventb.core.identifier="Property"/>
|
||||
<org.eventb.core.constant name="_fxjdEAKnEeiAPf1wPUl3Gw" org.eventb.core.identifier="Inst"/>
|
||||
<org.eventb.core.axiom name="_fxjdEQKnEeiAPf1wPUl3Gw" org.eventb.core.label="Inst_ty" org.eventb.core.predicate="Inst ∈ Model ∖ Pattern"/>
|
||||
<org.eventb.core.axiom name="_DGgrYAUMEei9ocE08JsPSw" org.eventb.core.label="Inst_Mdl" org.eventb.core.predicate="Inst ≠ Mdl"/>
|
||||
</org.eventb.core.contextFile>
|
||||
25
Event-B/pseim/cPort.bcc
Normal file
25
Event-B/pseim/cPort.bcc
Normal file
@@ -0,0 +1,25 @@
|
||||
<?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.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.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="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="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="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_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.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="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.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.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="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.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.scInternalContext>
|
||||
<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.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.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.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="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.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.scContextFile>
|
||||
23
Event-B/pseim/cPort.bpo
Normal file
23
Event-B/pseim/cPort.bpo
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<org.eventb.core.poFile org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.poStamp="0">
|
||||
<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="/pseim/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="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="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≠Mdl" org.eventb.core.source="/pseim/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.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.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.poPredicateSet>
|
||||
</org.eventb.core.poFile>
|
||||
2
Event-B/pseim/cPort.bpr
Normal file
2
Event-B/pseim/cPort.bpr
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<org.eventb.core.prFile version="1"/>
|
||||
2
Event-B/pseim/cPort.bps
Normal file
2
Event-B/pseim/cPort.bps
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<org.eventb.core.psFile/>
|
||||
8
Event-B/pseim/cPort.buc
Normal file
8
Event-B/pseim/cPort.buc
Normal file
@@ -0,0 +1,8 @@
|
||||
<?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="1516102973558" org.eventb.texttools.text_representation="context cPort extends cComponent sets 	Port constants 	IPort OPort axioms 	@part partition(Port,IPort,OPort) end " version="3">
|
||||
<org.eventb.core.extendsContext name="'" org.eventb.core.target="cComponent"/>
|
||||
<org.eventb.core.carrierSet name="_YwaNQPqeEeectLZKwQfI0A" org.eventb.core.identifier="Port"/>
|
||||
<org.eventb.core.constant name="_Y1LocPqyEeectLZKwQfI0A" org.eventb.core.identifier="IPort"/>
|
||||
<org.eventb.core.constant name="_Y1LocfqyEeectLZKwQfI0A" org.eventb.core.identifier="OPort"/>
|
||||
<org.eventb.core.axiom name="_Y1LocvqyEeectLZKwQfI0A" org.eventb.core.label="part" org.eventb.core.predicate="partition(Port,IPort,OPort)"/>
|
||||
</org.eventb.core.contextFile>
|
||||
BIN
Event-B/pseim/event-b_model_structure2.jpg
Normal file
BIN
Event-B/pseim/event-b_model_structure2.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
107
Event-B/pseim/mComponent.bcm
Normal file
107
Event-B/pseim/mComponent.bcm
Normal file
@@ -0,0 +1,107 @@
|
||||
<?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.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.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="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="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="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_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.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="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.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.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="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.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.scInternalContext>
|
||||
<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.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.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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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="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.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.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.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.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.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_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_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.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.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.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.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.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.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.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="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.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.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.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.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.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="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="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="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.scMachineFile>
|
||||
775
Event-B/pseim/mComponent.bpo
Normal file
775
Event-B/pseim/mComponent.bpo
Normal file
@@ -0,0 +1,775 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<org.eventb.core.poFile org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="CTXHYP" org.eventb.core.poStamp="0">
|
||||
<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="/pseim/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="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="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≠Mdl" org.eventb.core.source="/pseim/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="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poStamp="0">
|
||||
<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="components" org.eventb.core.type="ℙ(Model×Component)"/>
|
||||
<org.eventb.core.poIdentifier name="container" 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_clone_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.poPredicateSet>
|
||||
<org.eventb.core.poSequent name="irrefl/THM" org.eventb.core.accurate="true" org.eventb.core.poDesc="Theorem" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" 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.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNI_qkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_unfold_in/THM" org.eventb.core.accurate="true" org.eventb.core.poDesc="Theorem" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" 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.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_nieoAAMxEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_clone/THM" org.eventb.core.accurate="true" org.eventb.core.poDesc="Theorem" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo."/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" 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.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0AMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo."/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="to_clone_c_mult/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Invariant" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo1"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀c⦂Component·c∈dom(inst2pat_c)⇒c∈dom(c_index)∧c_index∈Component ⇸ ℤ∧inst2pat_c∈Component ⇸ Component∧inst2pat_c(c)∈dom(c_multiplicity)∧c_multiplicity∈Component ⇸ ℤ" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_V6rHAAM1Eei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_V6rHAAM1Eei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo1"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="VWD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of variant" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀c⦂Component·c∈to_unfold_c∪ran(to_clone_c)⇒{sc⦂ℙ(Component)·c∈sc∧container∼[sc]⊆sc ∣ sc}≠(∅ ⦂ ℙ(ℙ(Component)))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_yRrOsAK6EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_yRrOsAK6EeiAPf1wPUl3Gw"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="FIN" org.eventb.core.accurate="true" org.eventb.core.poDesc="Finiteness of variant" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="finite(⋃c⦂Component·c∈to_unfold_c∪ran(to_clone_c) ∣ {c} × inter({sc⦂ℙ(Component)·c∈sc∧container∼[sc]⊆sc ∣ sc}))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_yRrOsAK6EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_yRrOsAK6EeiAPf1wPUl3Gw"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/comp_finite/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀m⦂Model·finite(({Inst} ⩤ components)[{m}])" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0ZPqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0ZPqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/comp_finite\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD1"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/comp_not_shared/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="({Inst} ⩤ components)∼∈Component ⇸ Model" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ip9Q0PqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ip9Q0PqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/comp_not_shared\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD2"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/c_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c_multiplicity(c_mult_others{pc⦂Component·pc∈dom(inst_components) ∣ pc ↦ card(inst_components[{pc}])})∈({Inst} ⩤ components)[Pattern] → ℕ" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_GMp30PqWEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_GMp30PqWEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/c_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD3"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/cont_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="components[{Inst}] ⩤ container∈ran({Inst} ⩤ components) ⇸ ran({Inst} ⩤ components)" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8fqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8fqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/cont_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD4"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/cont_ctr/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="{Inst} ⩤ components;(components[{Inst}] ⩤ container);({Inst} ⩤ components)∼⊆(id ⦂ ℙ(Model×Model))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8vqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8vqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/cont_ctr\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD5"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/acycl/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∃f⦂ℙ(Component×Component)·f∈Component ↔ Component∧components[{Inst}] ⩤ 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.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_oXBHAPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/acycl\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD6"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/to_unfold_c_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Component×Component))∈({Inst} ⩤ components)[{Pat}] ↔ ({Inst} ⩤ components)[{Inst}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/to_unfold_c_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD8"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/to_clone_c/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Component×Component))∈({Inst} ⩤ components)[{Inst}] ⇸ ({Inst} ⩤ components)[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dq0MPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dq0MPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/to_clone_c\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD9"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/to_unfold_c/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="components[{Pat}] ∖ dom(container)⊆({Inst} ⩤ components)[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEQA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEQA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/to_unfold_c\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD10"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/inst2pat_c_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Component×Component))∈({Inst} ⩤ components)[{Inst}] → ({Inst} ⩤ components)[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEgA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEgA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/inst2pat_c_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD11"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/inst2pat_clone/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Component×Component))⊆(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_Hwdz4AKtEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_Hwdz4AKtEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/inst2pat_clone\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD12"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/inst2pat_unfold_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Component×Component));(∅ ⦂ ℙ(Component×Component))⊆components[{Inst}] ⩤ container" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/inst2pat_unfold_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD13"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/pat2inst_unfold/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(components[{Pat}] ∖ dom(container))∩ran(∅ ⦂ ℙ(Component×Component))=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_fxu54ALAEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_fxu54ALAEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/pat2inst_unfold\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD14"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/unfold_root/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(components[{Pat}] ∖ dom(container))∩dom(components[{Inst}] ⩤ container)=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoAMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoAMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/unfold_root\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD15"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/unfold_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="dom(∅ ⦂ ℙ(Component×Component))⊆dom(components[{Inst}] ⩤ container)" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoQMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoQMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/unfold_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD16"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/inst2pat_cont/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Component×Component));(components[{Inst}] ⩤ container)=components[{Inst}] ⩤ container;(∅ ⦂ ℙ(Component×Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0QMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0QMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/inst2pat_cont\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo1|org.eventb.core.poPredicate#PRD19"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/c_index_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(Component×ℤ))∈dom(∅ ⦂ ℙ(Component×Component)) → ℕ" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0gMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0gMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/c_index_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo1|org.eventb.core.poPredicate#PRD20"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/to_clone_c_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀c⦂Component·c∈dom(∅ ⦂ ℙ(Component×Component))⇒(∅ ⦂ ℙ(Component×ℤ))(c)∈1 ‥ (c_multiplicity(c_mult_others{pc⦂Component·pc∈dom(inst_components) ∣ pc ↦ card(inst_components[{pc}])}))((∅ ⦂ ℙ(Component×Component))(c))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_V6rHAAM1Eei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_V6rHAAM1Eei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#instanciate_pattern\/to_clone_c_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD21"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="instanciate_pattern/c_mult/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of action" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀pc⦂Component·pc∈dom(inst_components)⇒finite(inst_components[{pc}])" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1UjhfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.action#_O1UjhfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ip"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_c_ip" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poIdentifier name="to_clone_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="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="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.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="EVTALLHYPto_unfold_c_ip" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_c_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="/pseim/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="/pseim/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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#'|org.eventb.core.guard#_O1UjhPqmEeectLZKwQfI0A"/>
|
||||
</org.eventb.core.poPredicateSet>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/new_c_ty/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTHYPto_unfold_c_iq'"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c∈dom(c_multiplicity)∧c_multiplicity∈Component ⇸ ℤ" 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.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" 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.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTHYPto_unfold_c_iq'"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/comp_finite/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀m⦂Model·finite((components∪({Inst} × ran(new_c)))[{m}])" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0ZPqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0ZPqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/comp_finite\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD1"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/comp_not_shared/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(components∪({Inst} × ran(new_c)))∼∈Component ⇸ Model" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ip9Q0PqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ip9Q0PqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/comp_not_shared\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD2"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/c_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c_multiplicity∈(components∪({Inst} × ran(new_c)))[Pattern] → ℕ" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_GMp30PqWEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_GMp30PqWEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/c_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD3"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/cont_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="container∈ran(components∪({Inst} × ran(new_c))) ⇸ ran(components∪({Inst} × ran(new_c)))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8fqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8fqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/cont_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD4"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/cont_ctr/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(components∪({Inst} × ran(new_c)));container;(components∪({Inst} × ran(new_c)))∼⊆(id ⦂ ℙ(Model×Model))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8vqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8vqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/cont_ctr\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD5"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/to_unfold_c_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c_in∈(components∪({Inst} × ran(new_c)))[{Pat}] ↔ (components∪({Inst} × ran(new_c)))[{Inst}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/to_unfold_c_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD8"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/to_clone_c/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_clone_c∪(ran(new_c) × {c})∈(components∪({Inst} × ran(new_c)))[{Inst}] ⇸ (components∪({Inst} × ran(new_c)))[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dq0MPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dq0MPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/to_clone_c\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD9"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/to_unfold_c/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c ∖ {c}⊆(components∪({Inst} × ran(new_c)))[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEQA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEQA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/to_unfold_c\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD10"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/inst2pat_c_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_c∪(ran(new_c) × {c})∈(components∪({Inst} × ran(new_c)))[{Inst}] → (components∪({Inst} × ran(new_c)))[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEgA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEgA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/inst2pat_c_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD11"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/inst2pat_clone/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_clone_c∪(ran(new_c) × {c})⊆inst2pat_c∪(ran(new_c) × {c})" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_Hwdz4AKtEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_Hwdz4AKtEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/inst2pat_clone\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD12"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/inst2pat_unfold_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c_in;(inst2pat_c∪(ran(new_c) × {c}))⊆container" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/inst2pat_unfold_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD13"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/pat2inst_unfold/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(to_unfold_c ∖ {c})∩ran(inst2pat_c∪(ran(new_c) × {c}))=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_fxu54ALAEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_fxu54ALAEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/pat2inst_unfold\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD14"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/unfold_root/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(to_unfold_c ∖ {c})∩dom(container)=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoAMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoAMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/unfold_root\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD15"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/inst2pat_cont/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(inst2pat_c∪(ran(new_c) × {c}));container=container;(inst2pat_c∪(ran(new_c) × {c}))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0QMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0QMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/inst2pat_cont\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo1|org.eventb.core.poPredicate#PRD19"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/c_index_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c_index∪new_c∼∈dom(inst2pat_c∪(ran(new_c) × {c})) → ℕ" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0gMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0gMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/c_index_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo1|org.eventb.core.poPredicate#PRD20"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/to_clone_c_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀c0⦂Component·c0∈dom(inst2pat_c∪(ran(new_c) × {c}))⇒(c_index∪new_c∼)(c0)∈1 ‥ c_multiplicity((inst2pat_c∪(ran(new_c) × {c}))(c0))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_V6rHAAM1Eei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_V6rHAAM1Eei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/to_clone_c_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD21"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_root_c/VAR" org.eventb.core.accurate="true" org.eventb.core.poDesc="Variant of event" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_iq"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(⋃c0⦂Component·c0∈(to_unfold_c ∖ {c})∪ran(to_clone_c∪(ran(new_c) × {c})) ∣ {c0} × inter({sc⦂ℙ(Component)·c0∈sc∧container∼[sc]⊆sc ∣ sc}))⊂(⋃c⦂Component·c∈to_unfold_c∪ran(to_clone_c) ∣ {c} × inter({sc⦂ℙ(Component)·c∈sc∧container∼[sc]⊆sc ∣ sc}))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_yRrOsAK6EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_yRrOsAK6EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1VxoPqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_root_c\/VAR|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_c_iq" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poIdentifier name="to_clone_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="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="inst2pat_c'" org.eventb.core.type="ℙ(Component×Component)"/>
|
||||
</org.eventb.core.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="EVTHYPto_unfold_c_iq'" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_c_iq" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicate name="PRD0" 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.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="EVTALLHYPto_unfold_c_iq" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTHYPto_unfold_c_iq'" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicate name="PRD1" 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.poPredicateSet>
|
||||
<org.eventb.core.poSequent name="clone_c/to_unfold_c_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ir"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c_in∪(container∼[{to_clone_c(c)}] × {c})∈components[{Pat}] ↔ components[{Inst}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#clone_c\/to_unfold_c_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD8"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="clone_c/to_clone_c/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ir"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="{c} ⩤ 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.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dq0MPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#clone_c\/to_clone_c\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD9"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="clone_c/inst2pat_clone/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ir"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="{c} ⩤ 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.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_Hwdz4AKtEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#clone_c\/inst2pat_clone\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD12"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="clone_c/inst2pat_unfold_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ir"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(to_unfold_c_in∪(container∼[{to_clone_c(c)}] × {c}));inst2pat_c⊆container" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#clone_c\/inst2pat_unfold_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD13"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="clone_c/unfold_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ir"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="dom(to_unfold_c_in∪(container∼[{to_clone_c(c)}] × {c}))⊆dom(container)" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoQMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoQMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#clone_c\/unfold_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD16"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="clone_c/to_unfold_c_in/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of action" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ir"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c∈dom(to_clone_c)∧to_clone_c∈Component ⇸ Component" 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.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" 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.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ir"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="clone_c/VAR" org.eventb.core.accurate="true" org.eventb.core.poDesc="Variant of event" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_ir"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(⋃c0⦂Component·c0∈to_unfold_c∪ran({c} ⩤ to_clone_c) ∣ {c0} × inter({sc⦂ℙ(Component)·c0∈sc∧container∼[sc]⊆sc ∣ sc}))⊂(⋃c⦂Component·c∈to_unfold_c∪ran(to_clone_c) ∣ {c} × inter({sc⦂ℙ(Component)·c∈sc∧container∼[sc]⊆sc ∣ sc}))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_yRrOsAK6EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_yRrOsAK6EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1WYufqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#clone_c\/VAR|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_c_ir" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poIdentifier name="to_clone_c'" org.eventb.core.type="ℙ(Component×Component)"/>
|
||||
<org.eventb.core.poIdentifier name="c" org.eventb.core.type="Component"/>
|
||||
<org.eventb.core.poIdentifier name="to_unfold_c_in'" org.eventb.core.type="ℙ(Component×Component)"/>
|
||||
</org.eventb.core.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="EVTALLHYPto_unfold_c_ir" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_c_ir" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicate name="PRD0" 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.poPredicateSet>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/new_c_ty/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTHYPto_unfold_c_is'"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c∈dom(c_multiplicity)∧c_multiplicity∈Component ⇸ ℤ" 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.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" 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.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTHYPto_unfold_c_is'"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/comp_finite/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀m⦂Model·finite((components∪({Inst} × ran(new_c)))[{m}])" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0ZPqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0ZPqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/comp_finite\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD1"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/comp_not_shared/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(components∪({Inst} × ran(new_c)))∼∈Component ⇸ Model" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ip9Q0PqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ip9Q0PqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/comp_not_shared\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD2"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/c_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c_multiplicity∈(components∪({Inst} × ran(new_c)))[Pattern] → ℕ" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_GMp30PqWEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_GMp30PqWEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/c_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD3"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/cont_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="container∪(ran(new_c) × {dest})∈ran(components∪({Inst} × ran(new_c))) ⇸ ran(components∪({Inst} × ran(new_c)))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8fqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8fqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/cont_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD4"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/cont_ctr/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(components∪({Inst} × ran(new_c)));(container∪(ran(new_c) × {dest}));(components∪({Inst} × ran(new_c)))∼⊆(id ⦂ ℙ(Model×Model))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8vqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8vqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/cont_ctr\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD5"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/acycl/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∃f⦂ℙ(Component×Component)·f∈Component ↔ Component∧container∪(ran(new_c) × {dest})⊆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.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_oXBHAPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/acycl\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD6"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/to_unfold_c_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c_in ∖ {c ↦ dest}∈(components∪({Inst} × ran(new_c)))[{Pat}] ↔ (components∪({Inst} × ran(new_c)))[{Inst}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/to_unfold_c_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD8"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/to_clone_c/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_clone_c∪(ran(new_c) × {c})∈(components∪({Inst} × ran(new_c)))[{Inst}] ⇸ (components∪({Inst} × ran(new_c)))[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dq0MPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dq0MPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/to_clone_c\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD9"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/to_unfold_c/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c⊆(components∪({Inst} × ran(new_c)))[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEQA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEQA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/to_unfold_c\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD10"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/inst2pat_c_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_c∪(ran(new_c) × {c})∈(components∪({Inst} × ran(new_c)))[{Inst}] → (components∪({Inst} × ran(new_c)))[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEgA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEgA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/inst2pat_c_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD11"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/inst2pat_clone/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_clone_c∪(ran(new_c) × {c})⊆inst2pat_c∪(ran(new_c) × {c})" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_Hwdz4AKtEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_Hwdz4AKtEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/inst2pat_clone\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD12"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/inst2pat_unfold_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(to_unfold_c_in ∖ {c ↦ dest});(inst2pat_c∪(ran(new_c) × {c}))⊆container∪(ran(new_c) × {dest})" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/inst2pat_unfold_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD13"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/pat2inst_unfold/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c∩ran(inst2pat_c∪(ran(new_c) × {c}))=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_fxu54ALAEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_fxu54ALAEeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/pat2inst_unfold\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD14"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/unfold_root/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c∩dom(container∪(ran(new_c) × {dest}))=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoAMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoAMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/unfold_root\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD15"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/unfold_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="dom(to_unfold_c_in ∖ {c ↦ dest})⊆dom(container∪(ran(new_c) × {dest}))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoQMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoQMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/unfold_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD16"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/inst2pat_cont/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(inst2pat_c∪(ran(new_c) × {c}));(container∪(ran(new_c) × {dest}))=(container∪(ran(new_c) × {dest}));(inst2pat_c∪(ran(new_c) × {c}))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0QMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0QMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/inst2pat_cont\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo1|org.eventb.core.poPredicate#PRD19"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/c_index_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c_index∪new_c∼∈dom(inst2pat_c∪(ran(new_c) × {c})) → ℕ" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0gMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0gMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/c_index_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo1|org.eventb.core.poPredicate#PRD20"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/to_clone_c_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀c0⦂Component·c0∈dom(inst2pat_c∪(ran(new_c) × {c}))⇒(c_index∪new_c∼)(c0)∈1 ‥ c_multiplicity((inst2pat_c∪(ran(new_c) × {c}))(c0))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_V6rHAAM1Eei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_V6rHAAM1Eei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/to_clone_c_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD21"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="unfold_node_c/VAR" org.eventb.core.accurate="true" org.eventb.core.poDesc="Variant of event" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_is"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(⋃c0⦂Component·c0∈to_unfold_c∪ran(to_clone_c∪(ran(new_c) × {c})) ∣ {c0} × inter({sc⦂ℙ(Component)·c0∈sc∧(container∪(ran(new_c) × {dest}))∼[sc]⊆sc ∣ sc}))⊂(⋃c⦂Component·c∈to_unfold_c∪ran(to_clone_c) ∣ {c} × inter({sc⦂ℙ(Component)·c∈sc∧container∼[sc]⊆sc ∣ sc}))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_yRrOsAK6EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.variant#_yRrOsAK6EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1W_yfqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#unfold_node_c\/VAR|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_c_is" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poIdentifier name="to_clone_c'" 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" 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.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="EVTHYPto_unfold_c_is'" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_c_is" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicate name="PRD0" 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.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="EVTALLHYPto_unfold_c_is" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTHYPto_unfold_c_is'" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicate name="PRD1" 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.poPredicateSet>
|
||||
<org.eventb.core.poSequent name="apply_pattern/comp_finite/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀m⦂Model·finite((components∪({Mdl} × ran(new_components)))[{m}])" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0ZPqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_cQf0ZPqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/comp_finite\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD1"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/comp_not_shared/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(components∪({Mdl} × ran(new_components)))∼∈Component ⇸ Model" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ip9Q0PqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_ip9Q0PqUEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/comp_not_shared\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD2"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/c_mult/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c_multiplicity∈(components∪({Mdl} × ran(new_components)))[Pattern] → ℕ" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_GMp30PqWEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_GMp30PqWEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/c_mult\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD3"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/cont_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="container∪((inst_components∪new_components)∼;container;(inst_components∪new_components))∈ran(components∪({Mdl} × ran(new_components))) ⇸ ran(components∪({Mdl} × ran(new_components)))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8fqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8fqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/cont_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD4"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/cont_ctr/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(components∪({Mdl} × ran(new_components)));(container∪((inst_components∪new_components)∼;container;(inst_components∪new_components)));(components∪({Mdl} × ran(new_components)))∼⊆(id ⦂ ℙ(Model×Model))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8vqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gmDo8vqgEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/cont_ctr\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD5"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/acycl/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∃f⦂ℙ(Component×Component)·f∈Component ↔ Component∧container∪((inst_components∪new_components)∼;container;(inst_components∪new_components))⊆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.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_oXBHAPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/acycl\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{|org.eventb.core.poPredicate#PRD6"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/to_unfold_c_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c_in∈(components∪({Mdl} × ran(new_components)))[{Pat}] ↔ (components∪({Mdl} × ran(new_components)))[{Inst}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dqNJPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/to_unfold_c_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD8"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/to_clone_c/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_clone_c∈(components∪({Mdl} × ran(new_components)))[{Inst}] ⇸ (components∪({Mdl} × ran(new_components)))[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dq0MPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_1dq0MPqkEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/to_clone_c\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD9"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/to_unfold_c/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c⊆(components∪({Mdl} × ran(new_components)))[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEQA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEQA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/to_unfold_c\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD10"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/inst2pat_c_ty/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_c∈(components∪({Mdl} × ran(new_components)))[{Inst}] → (components∪({Mdl} × ran(new_components)))[{Pat}]" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEgA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_l7KVEgA1EeictLZKwQfI0A"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/inst2pat_c_ty\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD11"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/inst2pat_unfold_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c_in;inst2pat_c⊆container∪((inst_components∪new_components)∼;container;(inst_components∪new_components))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_xudpYQK5EeiAPf1wPUl3Gw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/inst2pat_unfold_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD13"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/unfold_root/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="to_unfold_c∩dom(container∪((inst_components∪new_components)∼;container;(inst_components∪new_components)))=(∅ ⦂ ℙ(Component))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoAMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoAMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/unfold_root\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD15"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/unfold_in/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="dom(to_unfold_c_in)⊆dom(container∪((inst_components∪new_components)∼;container;(inst_components∪new_components)))" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoQMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_PaxdoQMwEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/unfold_in\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-|org.eventb.core.poPredicate#PRD16"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poSequent name="apply_pattern/inst2pat_cont/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant preservation" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTALLHYPto_unfold_c_it"/>
|
||||
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="inst2pat_c;(container∪((inst_components∪new_components)∼;container;(inst_components∪new_components)))=(container∪((inst_components∪new_components)∼;container;(inst_components∪new_components)));inst2pat_c" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0QMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.invariant#_gxZD0QMzEei9ocE08JsPSw"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poSequent#apply_pattern\/inst2pat_cont\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
|
||||
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo1|org.eventb.core.poPredicate#PRD19"/>
|
||||
</org.eventb.core.poSequent>
|
||||
<org.eventb.core.poPredicateSet name="EVTIDENTto_unfold_c_it" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
|
||||
<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="components'" org.eventb.core.type="ℙ(Model×Component)"/>
|
||||
<org.eventb.core.poIdentifier name="new_components" org.eventb.core.type="ℙ(Component×Component)"/>
|
||||
</org.eventb.core.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="EVTALLHYPto_unfold_c_it" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#EVTIDENTto_unfold_c_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="/pseim/mComponent.bum|org.eventb.core.machineFile#mComponent|org.eventb.core.event#_O1Xm2PqmEeectLZKwQfI0A|org.eventb.core.guard#_O1WYtvqmEeectLZKwQfI0A"/>
|
||||
<org.eventb.core.poPredicate name="PRD1" 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.poPredicate name="PRD2" 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.poPredicate name="PRD3" 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.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="HYPcComponen{" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicate name="PRD0" 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.poPredicate name="PRD1" 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.poPredicate name="PRD2" 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.poPredicate name="PRD3" 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.poPredicate name="PRD4" 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.poPredicate name="PRD5" 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.poPredicate name="PRD6" 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.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="HYPcComponeo-" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponen{" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicate name="PRD7" 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.poPredicate name="PRD8" 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.poPredicate name="PRD9" 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.poPredicate name="PRD10" 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.poPredicate name="PRD11" 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.poPredicate name="PRD12" 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.poPredicate name="PRD13" 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.poPredicate name="PRD14" 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.poPredicate name="PRD15" 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.poPredicate name="PRD16" 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.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="HYPcComponeo." org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo-" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicate name="PRD17" 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.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="HYPcComponeo1" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo." org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicate name="PRD18" 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.poPredicate name="PRD19" 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.poPredicate name="PRD20" 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.poPredicateSet>
|
||||
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/pseim/mComponent.bpo|org.eventb.core.poFile#mComponent|org.eventb.core.poPredicateSet#HYPcComponeo1" org.eventb.core.poStamp="0">
|
||||
<org.eventb.core.poPredicate name="PRD21" 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.poPredicateSet>
|
||||
</org.eventb.core.poFile>
|
||||
20512
Event-B/pseim/mComponent.bpr
Normal file
20512
Event-B/pseim/mComponent.bpr
Normal file
File diff suppressed because it is too large
Load Diff
2
Event-B/pseim/mComponent.bps
Normal file
2
Event-B/pseim/mComponent.bps
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<org.eventb.core.psFile/>
|
||||
90
Event-B/pseim/mComponent.bum
Normal file
90
Event-B/pseim/mComponent.bum
Normal file
File diff suppressed because one or more lines are too long
90180
Event-B/pseim/mLink.bpr
Normal file
90180
Event-B/pseim/mLink.bpr
Normal file
File diff suppressed because it is too large
Load Diff
111
Event-B/pseim/mLink.bum
Normal file
111
Event-B/pseim/mLink.bum
Normal file
File diff suppressed because one or more lines are too long
21273
Event-B/pseim/mPort.bpr
Normal file
21273
Event-B/pseim/mPort.bpr
Normal file
File diff suppressed because it is too large
Load Diff
83
Event-B/pseim/mPort.bum
Normal file
83
Event-B/pseim/mPort.bum
Normal file
@@ -0,0 +1,83 @@
|
||||
<?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 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 invariants @port ports ∈ ran(components) ↔ Port @port_finite ∀c·finite(ports[{c}]) @port_not_shared ports∼ ∈ Port ⇸ Component @p_mult p_multiplicity ∈ (components;ports)[Pattern] → ℕ @to_unfold_p_in to_unfold_p_in ∈ (components;ports)[{Pat}] ↔ components[{Inst}] @inst2pat_p_ty inst2pat_p ∈ (components;ports)[{Inst}] → (components;ports)[{Pat}] @inst2pat_commp inst2pat_p;ports∼ = ports∼;inst2pat_c @to_unfold_p_inst2pat ran(to_unfold_p_in) ⊆ dom(inst2pat_c) @to_unfold_p_in_comp to_unfold_p_in;inst2pat_c ⊆ ports∼ @i2p_IPort inst2pat_p[IPort] ⊆ IPort @i2p_OPort inst2pat_p[OPort] ⊆ OPort @p_index_ty p_index ∈ dom(inst2pat_p) → ℕ variant to_unfold_p_in events event instanciate_pattern extends instanciate_pattern any inst_ports p_mult_others where @ip inst_ports ∈ (components;ports)[{Pat}] ↔ (components;ports)[{Mdl}] @ipr inst_ports∼ ∈ (components;ports)[{Mdl}] ⇸ (components;ports)[{Pat}] @pm p_mult_others ∈ (components;ports)[{Pat}] ∖ dom(inst_ports) → ℕ theorem @thm ∀p· finite(inst_ports[{p}]) then @p_mult p_multiplicity ≔ p_multiplicity (p_mult_others {pp·pp∈(components;ports)[{Pat}] ∣ pp ↦ card(inst_ports[{pp}])}) @inst2pat_p inst2pat_p ≔ ∅ @ports ports ≔ (components[{Inst}]) ⩤ ports @unfold_p to_unfold_p_in ≔ ∅ @p_index p_index ≔ ∅ end event unfold_root_c extends unfold_root_c end event clone_c extends clone_c then @unfold_p_in to_unfold_p_in ≔ to_unfold_p_in ∪ (ports[{to_clone_c(c)}] × {c}) end event unfold_node_c extends unfold_node_c end convergent event unfold_p any p // port to unfold c // target component new_p // replicated ports where @p_ty p ↦ c ∈ to_unfold_p_in @new_p_ty new_p ∈ 1‥p_multiplicity(p) ↣ Port ∖ ran(components;ports) @duplicate_IPorts_direction p ∈ IPort ⇒ ran(new_p) ⊆ IPort @duplicate_OPorts_direction p ∈ OPort ⇒ ran(new_p) ⊆ OPort then @new_p_component ports ≔ ports ∪ ({c} × ran(new_p)) @dp to_unfold_p_in ≔ to_unfold_p_in ∖ {p↦c} @inst2pat_p inst2pat_p ≔ inst2pat_p ∪ (ran(new_p) × {p}) @p_index p_index ≔ p_index ∪ new_p∼ end event apply_pattern extends apply_pattern any inst_ports new_ports where @ip inst_ports ∈ (components;ports)[{Inst}] ⤔ (components;ports)[{Mdl}] @mp_i inst_ports[IPort] ⊆ IPort @mp_o inst_ports[OPort] ⊆ OPort @ports_inst_rel_comp_inst ports∼[dom(inst_ports)] ⊆ dom(inst_components) // Les ports instanciés sont des ports de composants instanciés @ports_inst_rel_port_comp inst_ports∼;ports∼;inst_components ⊆ ports∼ @np new_ports ∈ (components;ports)[{Inst}] ∖ dom(inst_ports) ↣ Port ∖ ran(components;ports) @np_i new_ports[IPort] ⊆ IPort @np_o new_ports[OPort] ⊆ OPort then @c ports ≔ ports ∪ ((inst_components ∪ new_components)∼;ports;(inst_ports ∪ new_ports)) end end " version="5">
|
||||
<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.event name="'" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="instanciate_pattern">
|
||||
<org.eventb.core.refinesEvent name="_btHw0PqwEeectLZKwQfI0A" org.eventb.core.target="instanciate_pattern"/>
|
||||
<org.eventb.core.parameter name="_btHw0fqwEeectLZKwQfI0A" org.eventb.core.identifier="inst_ports"/>
|
||||
<org.eventb.core.guard name="_btHw0_qwEeectLZKwQfI0A" org.eventb.core.label="ip" org.eventb.core.predicate="inst_ports ∈ (components;ports)[{Pat}] ↔ (components;ports)[{Mdl}]"/>
|
||||
<org.eventb.core.guard name="_btHw1PqwEeectLZKwQfI0A" org.eventb.core.label="ipr" org.eventb.core.predicate="inst_ports∼ ∈ (components;ports)[{Mdl}] ⇸ (components;ports)[{Pat}]"/>
|
||||
<org.eventb.core.guard name="_btHw1fqwEeectLZKwQfI0A" org.eventb.core.label="pm" org.eventb.core.predicate="p_mult_others ∈ (components;ports)[{Pat}] ∖ dom(inst_ports) → ℕ"/>
|
||||
<org.eventb.core.action name="_btIX4PqwEeectLZKwQfI0A" org.eventb.core.assignment="p_multiplicity ≔ p_multiplicity (p_mult_others {pp·pp∈(components;ports)[{Pat}] ∣ pp ↦ card(inst_ports[{pp}])})" org.eventb.core.label="p_mult"/>
|
||||
<org.eventb.core.parameter name="_btHw0vqwEeectLZKwQfI0A" org.eventb.core.identifier="p_mult_others"/>
|
||||
<org.eventb.core.action name="_btJmA_qwEeectLZKwQfI0A" org.eventb.core.assignment="inst2pat_p ≔ ∅" org.eventb.core.label="inst2pat_p"/>
|
||||
<org.eventb.core.action name="_btJmCfqwEeectLZKwQfI0A" org.eventb.core.assignment="ports ≔ (components[{Inst}]) ⩤ ports" org.eventb.core.label="ports"/>
|
||||
<org.eventb.core.action name="_btJmCvqwEeectLZKwQfI0A" org.eventb.core.assignment="to_unfold_p_in ≔ ∅" org.eventb.core.label="unfold_p"/>
|
||||
<org.eventb.core.action name="_btKNEPqwEeectLZKwQfI0A" org.eventb.core.assignment="p_index ≔ ∅" org.eventb.core.label="p_index"/>
|
||||
<org.eventb.core.guard name="_btHw1vqwEeectLZKwQfI0A" org.eventb.core.label="thm" org.eventb.core.predicate="∀p· finite(inst_ports[{p}])" org.eventb.core.theorem="true"/>
|
||||
</org.eventb.core.event>
|
||||
<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_QvqeEeectLZKwQfI0A" org.eventb.core.identifier="c_multiplicity"/>
|
||||
<org.eventb.core.variable name="_0kf_Q_qeEeectLZKwQfI0A" org.eventb.core.identifier="to_clone_c"/>
|
||||
<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_RvqeEeectLZKwQfI0A" org.eventb.core.label="port_not_shared" org.eventb.core.predicate="ports∼ ∈ Port ⇸ Component"/>
|
||||
<org.eventb.core.invariant name="_0kf_R_qeEeectLZKwQfI0A" org.eventb.core.label="p_mult" org.eventb.core.predicate="p_multiplicity ∈ (components;ports)[Pattern] → ℕ"/>
|
||||
<org.eventb.core.variable name="_btIX4fqwEeectLZKwQfI0A" org.eventb.core.identifier="c_index"/>
|
||||
<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.refinesEvent name="_jNxEQAKyEeiAPf1wPUl3Gw" org.eventb.core.target="unfold_root_c"/>
|
||||
</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.refinesEvent name="_SDieEP06Eees7pYemx4WBQ" org.eventb.core.target="clone_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.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="_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-8vqwEeectLZKwQfI0A" org.eventb.core.comment="target component" org.eventb.core.identifier="c"/>
|
||||
<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="_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.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="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.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-9vqwEeectLZKwQfI0A" org.eventb.core.label="mp_o" org.eventb.core.predicate="inst_ports[OPort] ⊆ OPort"/>
|
||||
<org.eventb.core.guard name="_btI-9_qwEeectLZKwQfI0A" org.eventb.core.comment="Les ports instanciés sont des ports de composants instanciés" org.eventb.core.label="ports_inst_rel_comp_inst" org.eventb.core.predicate="ports∼[dom(inst_ports)] ⊆ dom(inst_components)"/>
|
||||
<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="_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.event>
|
||||
<org.eventb.core.variable name="_zY448AK7EeiAPf1wPUl3Gw" org.eventb.core.identifier="to_unfold_p_in"/>
|
||||
<org.eventb.core.variable name="_zY448QK7EeiAPf1wPUl3Gw" org.eventb.core.identifier="inst2pat_p"/>
|
||||
<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="_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.variant name="_7pQu4Af5EeiFlqW-8GKglg" org.eventb.core.expression="to_unfold_p_in"/>
|
||||
</org.eventb.core.machineFile>
|
||||
7617
Event-B/pseim/mProperty.bpr
Normal file
7617
Event-B/pseim/mProperty.bpr
Normal file
File diff suppressed because it is too large
Load Diff
35
Event-B/pseim/mProperty.bum
Normal file
35
Event-B/pseim/mProperty.bum
Normal file
@@ -0,0 +1,35 @@
|
||||
<?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 variables components container c_multiplicity to_clone_c c_index to_unfold_c to_unfold_c_in cProperties inst2pat_c invariants @prop cProperties ∈ Component ↔ Property events event instanciate_pattern extends instanciate_pattern end event unfold_root_c extends unfold_root_c then @prop cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}]) end event clone_c extends clone_c end event unfold_node_c extends unfold_node_c then @prop cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}]) end event apply_pattern extends apply_pattern any inst_props where @inst_prop inst_props ∈ Property ⇸ Property // pattern properties to model properties then @prop cProperties ≔ cProperties ∪ ((inst_components ∪ new_components)∼;cProperties) end end " version="5">
|
||||
<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.event name="'" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="instanciate_pattern">
|
||||
<org.eventb.core.refinesEvent name="_btHw0PqwEeectLZKwQfI0A" org.eventb.core.target="instanciate_pattern"/>
|
||||
</org.eventb.core.event>
|
||||
<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_QvqeEeectLZKwQfI0A" org.eventb.core.identifier="c_multiplicity"/>
|
||||
<org.eventb.core.variable name="_0kf_Q_qeEeectLZKwQfI0A" org.eventb.core.identifier="to_clone_c"/>
|
||||
<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.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.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 name="_btJmBfqwEeectLZKwQfI0A" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="clone_c">
|
||||
<org.eventb.core.refinesEvent name="_SDieEP06Eees7pYemx4WBQ" org.eventb.core.target="clone_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.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.refinesEvent name="_Rf7XAQDlEei-meqqkXX9bA" org.eventb.core.target="apply_pattern"/>
|
||||
<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.action name="_bAhyggKxEeiAPf1wPUl3Gw" org.eventb.core.assignment="cProperties ≔ cProperties ∪ ((inst_components ∪ new_components)∼;cProperties)" org.eventb.core.label="prop"/>
|
||||
</org.eventb.core.event>
|
||||
<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="_JtPOYPqxEeectLZKwQfI0A" org.eventb.core.identifier="cProperties"/>
|
||||
<org.eventb.core.variable name="_gk8cUAK8EeiAPf1wPUl3Gw" org.eventb.core.identifier="inst2pat_c"/>
|
||||
</org.eventb.core.machineFile>
|
||||
477
Event-B/pseim/pattern_safety.bpr
Normal file
477
Event-B/pseim/pattern_safety.bpr
Normal file
@@ -0,0 +1,477 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<org.eventb.core.prFile version="1">
|
||||
<org.eventb.core.prProof name="f_acycl/WD" org.eventb.core.confidence="1000" org.eventb.core.prFresh="m" 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" org.eventb.core.prSets="Component,Link,Model,Port">
|
||||
<org.eventb.core.lang name="L"/>
|
||||
<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.prHypAction name="REWRITE0" org.eventb.core.prHidden="p8" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p20,p21"/>
|
||||
<org.eventb.core.prHypAction name="SELECT1" org.eventb.core.prHyps="p20,p21"/>
|
||||
<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.prAnte name="'">
|
||||
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p2" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32"/>
|
||||
<org.eventb.core.prHypAction name="SELECT1" org.eventb.core.prHyps="p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32"/>
|
||||
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="">
|
||||
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p38">
|
||||
<org.eventb.core.prHypAction name="REWRITE0" org.eventb.core.prHidden="p4" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p33"/>
|
||||
<org.eventb.core.prHypAction name="REWRITE1" org.eventb.core.prHidden="p3" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p34,p35,p36"/>
|
||||
<org.eventb.core.prHypAction name="REWRITE2" org.eventb.core.prHidden="p14" org.eventb.core.prHyps="" org.eventb.core.prInfHyps="p37"/>
|
||||
<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="p39"/>
|
||||
<org.eventb.core.prHypAction name="HIDE1" org.eventb.core.prHyps="p40"/>
|
||||
<org.eventb.core.prHypAction name="HIDE2" org.eventb.core.prHyps="p41"/>
|
||||
<org.eventb.core.prHypAction name="HIDE3" org.eventb.core.prHyps="p42"/>
|
||||
<org.eventb.core.prHypAction name="HIDE4" org.eventb.core.prHyps="p43"/>
|
||||
<org.eventb.core.prHypAction name="HIDE5" org.eventb.core.prHyps="p44"/>
|
||||
<org.eventb.core.prHypAction name="HIDE6" org.eventb.core.prHyps="p45"/>
|
||||
<org.eventb.core.prRule name="r3" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="∧ goal" org.eventb.core.prGoal="p38" org.eventb.core.prHyps="">
|
||||
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p46">
|
||||
<org.eventb.core.prRule name="r4" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="∀ goal (frees m)" org.eventb.core.prGoal="p46" org.eventb.core.prHyps="">
|
||||
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p47">
|
||||
<org.eventb.core.prIdent name="m" org.eventb.core.type="Model"/>
|
||||
<org.eventb.core.prRule name="r5" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p7">
|
||||
<org.eventb.core.prAnte name="'">
|
||||
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p10" org.eventb.core.prInfHyps="p48"/>
|
||||
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p10"/>
|
||||
<org.eventb.core.prRule name="r5" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with toy_container=∅" org.eventb.core.prHyps="p11">
|
||||
<org.eventb.core.prAnte name="'">
|
||||
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p1" org.eventb.core.prInfHyps="p49"/>
|
||||
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p48" org.eventb.core.prInfHyps="p50"/>
|
||||
<org.eventb.core.prHypAction name="DESELECT2" org.eventb.core.prHyps="p1,p48"/>
|
||||
<org.eventb.core.prRule name="r5" 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="p47" org.eventb.core.prHyps="p50">
|
||||
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p51">
|
||||
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="simplification rewrites" org.eventb.core.prGoal="p51" org.eventb.core.prHyps="">
|
||||
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p52">
|
||||
<org.eventb.core.prRule name="r6" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="ML" org.eventb.core.prGoal="p52" org.eventb.core.prHyps="p17,p13,p19,p9,p7,p1,p11,p18,p6,p12,p15,p5,p10,p16,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p48,p49,p50">
|
||||
<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="p53">
|
||||
<org.eventb.core.prRule name="r5" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}" org.eventb.core.prHyps="p7">
|
||||
<org.eventb.core.prAnte name="'">
|
||||
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p10" org.eventb.core.prInfHyps="p48"/>
|
||||
<org.eventb.core.prHypAction name="DESELECT1" org.eventb.core.prHyps="p10"/>
|
||||
<org.eventb.core.prRule name="r5" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="eh with toy_container=∅" org.eventb.core.prHyps="p11">
|
||||
<org.eventb.core.prAnte name="'">
|
||||
<org.eventb.core.prHypAction name="FORWARD_INF0" org.eventb.core.prHyps="p1" org.eventb.core.prInfHyps="p49"/>
|
||||
<org.eventb.core.prHypAction name="FORWARD_INF1" org.eventb.core.prHyps="p48" org.eventb.core.prInfHyps="p50"/>
|
||||
<org.eventb.core.prHypAction name="DESELECT2" org.eventb.core.prHyps="p1,p48"/>
|
||||
<org.eventb.core.prRule name="r5" 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="p53" org.eventb.core.prHyps="p50">
|
||||
<org.eventb.core.prAnte name="'" org.eventb.core.prGoal="p54">
|
||||
<org.eventb.core.prRule name="r6" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="ML" org.eventb.core.prGoal="p54" org.eventb.core.prHyps="p17,p13,p19,p9,p7,p1,p11,p18,p6,p12,p15,p5,p10,p16,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p48,p49,p50">
|
||||
<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.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="LKind" org.eventb.core.type="ℙ(ℙ(Link))"/>
|
||||
<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="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="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="replicator" 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_model" org.eventb.core.type="Model"/>
|
||||
<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_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="p39" org.eventb.core.predicate="Pattern⊆Model"/>
|
||||
<org.eventb.core.prPred name="p2" org.eventb.core.predicate="partition(Link,Transpose,Identity,Shift,First,Rotate)"/>
|
||||
<org.eventb.core.prPred name="p26" org.eventb.core.predicate="Transpose∩Rotate=(∅ ⦂ ℙ(Link))"/>
|
||||
<org.eventb.core.prPred name="p53" org.eventb.core.predicate="container_var∈Model ⇸ ℙ(Component × Component)"/>
|
||||
<org.eventb.core.prPred name="p48" org.eventb.core.predicate="container_var={safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ toy_container}"/>
|
||||
<org.eventb.core.prPred name="p51" org.eventb.core.predicate="m∈dom({safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ (∅ ⦂ ℙ(Component×Component))})">
|
||||
<org.eventb.core.prIdent name="m" org.eventb.core.type="Model"/>
|
||||
</org.eventb.core.prPred>
|
||||
<org.eventb.core.prPred name="p45" org.eventb.core.predicate="toy_app∈Component"/>
|
||||
<org.eventb.core.prPred name="p38" org.eventb.core.predicate="(∀m⦂Model·m∈dom(container_var))∧container_var∈Model ⇸ ℙ(Component × Component)"/>
|
||||
<org.eventb.core.prPred name="p13" org.eventb.core.predicate="Pat∈Pattern"/>
|
||||
<org.eventb.core.prPred name="p27" org.eventb.core.predicate="Identity∩Shift=(∅ ⦂ ℙ(Link))"/>
|
||||
<org.eventb.core.prPred name="p0" org.eventb.core.predicate="∀m⦂Model·m∈dom(container_var)∧container_var∈Model ⇸ ℙ(Component × Component)"/>
|
||||
<org.eventb.core.prPred name="p16" org.eventb.core.predicate="f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
|
||||
<org.eventb.core.prPred name="p18" org.eventb.core.predicate="Model={safety_model,toy_model}"/>
|
||||
<org.eventb.core.prPred name="p52" org.eventb.core.predicate="m∈{safety_model,toy_model}">
|
||||
<org.eventb.core.prIdent name="m" org.eventb.core.type="Model"/>
|
||||
</org.eventb.core.prPred>
|
||||
<org.eventb.core.prPred name="p46" org.eventb.core.predicate="∀m⦂Model·m∈dom(container_var)"/>
|
||||
<org.eventb.core.prPred name="p42" org.eventb.core.predicate="safety_comp∈Component"/>
|
||||
<org.eventb.core.prPred name="p36" org.eventb.core.predicate="¬ballot_box=safety_comp"/>
|
||||
<org.eventb.core.prPred name="p11" org.eventb.core.predicate="toy_container=(∅ ⦂ ℙ(Component×Component))"/>
|
||||
<org.eventb.core.prPred name="p23" org.eventb.core.predicate="Transpose∩Identity=(∅ ⦂ ℙ(Link))"/>
|
||||
<org.eventb.core.prPred name="p22" org.eventb.core.predicate="Link=Transpose∪Identity∪Shift∪First∪Rotate"/>
|
||||
<org.eventb.core.prPred name="p14" org.eventb.core.predicate="safety_model≠toy_model"/>
|
||||
<org.eventb.core.prPred name="p20" org.eventb.core.predicate="Port=IPort∪OPort"/>
|
||||
<org.eventb.core.prPred name="p21" org.eventb.core.predicate="IPort∩OPort=(∅ ⦂ ℙ(Port))"/>
|
||||
<org.eventb.core.prPred name="p54" 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="p43" org.eventb.core.predicate="safety_model∈Model"/>
|
||||
<org.eventb.core.prPred name="p17" org.eventb.core.predicate="Mdl∈Model ∖ Pattern"/>
|
||||
<org.eventb.core.prPred name="p29" org.eventb.core.predicate="Identity∩Rotate=(∅ ⦂ ℙ(Link))"/>
|
||||
<org.eventb.core.prPred name="p35" org.eventb.core.predicate="¬replicator=safety_comp"/>
|
||||
<org.eventb.core.prPred name="p33" org.eventb.core.predicate="¬Inst=Mdl"/>
|
||||
<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="p7" org.eventb.core.predicate="safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
|
||||
<org.eventb.core.prPred name="p37" org.eventb.core.predicate="¬safety_model=toy_model"/>
|
||||
<org.eventb.core.prPred name="p50" org.eventb.core.predicate="container_var={safety_model ↦ {replicator ↦ safety_comp,ballot_box ↦ safety_comp},toy_model ↦ (∅ ⦂ ℙ(Component×Component))}"/>
|
||||
<org.eventb.core.prPred name="p10" org.eventb.core.predicate="container_var={safety_model ↦ safety_container,toy_model ↦ toy_container}"/>
|
||||
<org.eventb.core.prPred name="p12" org.eventb.core.predicate="toy_inp_2∈IPort"/>
|
||||
<org.eventb.core.prPred name="p49" org.eventb.core.predicate="(∅ ⦂ ℙ(Component×Component))∈Component ⇸ Component"/>
|
||||
<org.eventb.core.prPred name="p32" org.eventb.core.predicate="First∩Rotate=(∅ ⦂ ℙ(Link))"/>
|
||||
<org.eventb.core.prPred name="p28" org.eventb.core.predicate="Identity∩First=(∅ ⦂ ℙ(Link))"/>
|
||||
<org.eventb.core.prPred name="p44" org.eventb.core.predicate="toy_model∈Model"/>
|
||||
<org.eventb.core.prPred name="p3" org.eventb.core.predicate="replicator≠ballot_box∧replicator≠safety_comp∧ballot_box≠safety_comp"/>
|
||||
<org.eventb.core.prPred name="p4" org.eventb.core.predicate="Inst≠Mdl"/>
|
||||
<org.eventb.core.prPred name="p6" org.eventb.core.predicate="toy_inp_1∈IPort"/>
|
||||
<org.eventb.core.prPred name="p8" org.eventb.core.predicate="partition(Port,IPort,OPort)"/>
|
||||
<org.eventb.core.prPred name="p30" org.eventb.core.predicate="Shift∩First=(∅ ⦂ ℙ(Link))"/>
|
||||
<org.eventb.core.prPred name="p40" org.eventb.core.predicate="replicator∈Component"/>
|
||||
<org.eventb.core.prPred name="p9" org.eventb.core.predicate="LKind={Transpose,Identity,Shift,First,Rotate}"/>
|
||||
<org.eventb.core.prPred name="p24" org.eventb.core.predicate="Transpose∩Shift=(∅ ⦂ ℙ(Link))"/>
|
||||
<org.eventb.core.prPred name="p41" org.eventb.core.predicate="ballot_box∈Component"/>
|
||||
<org.eventb.core.prPred name="p47" org.eventb.core.predicate="m∈dom(container_var)">
|
||||
<org.eventb.core.prIdent name="m" org.eventb.core.type="Model"/>
|
||||
</org.eventb.core.prPred>
|
||||
<org.eventb.core.prPred name="p34" org.eventb.core.predicate="¬replicator=ballot_box"/>
|
||||
<org.eventb.core.prPred name="p15" org.eventb.core.predicate="toy_output∈OPort"/>
|
||||
<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="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="r1" org.eventb.core.prRID="org.eventb.core.seqprover.autoRewritesL4:0"/>
|
||||
</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.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.prAnte name="'">
|
||||
<org.eventb.core.prHypAction name="SELECT0" org.eventb.core.prHyps="p9,p21,p3,p16"/>
|
||||
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="CVC3" 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.prString name=".arg" org.eventb.core.prSValue="R1000"/>
|
||||
<org.eventb.core.prString name=".config_id" org.eventb.core.prSValue="CVC3"/>
|
||||
</org.eventb.core.prRule>
|
||||
</org.eventb.core.prAnte>
|
||||
</org.eventb.core.prRule>
|
||||
<org.eventb.core.prIdent name="IPort" org.eventb.core.type="ℙ(Port)"/>
|
||||
<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="Pattern" org.eventb.core.type="ℙ(Model)"/>
|
||||
<org.eventb.core.prIdent name="ballot_box" org.eventb.core.type="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="replicator" 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_model" org.eventb.core.type="Model"/>
|
||||
<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_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="p2" org.eventb.core.predicate="toy_model∈Model"/>
|
||||
<org.eventb.core.prPred name="p3" org.eventb.core.predicate="Pattern⊆Model"/>
|
||||
<org.eventb.core.prPred name="p4" org.eventb.core.predicate="safety_comp∈Component"/>
|
||||
<org.eventb.core.prPred name="p0" 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="replicator≠ballot_box∧replicator≠safety_comp∧ballot_box≠safety_comp"/>
|
||||
<org.eventb.core.prPred name="p6" org.eventb.core.predicate="toy_inp_1∈IPort"/>
|
||||
<org.eventb.core.prPred name="p7" 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="p9" org.eventb.core.predicate="partition(Port,IPort,OPort)"/>
|
||||
<org.eventb.core.prPred name="p10" org.eventb.core.predicate="replicator∈Component"/>
|
||||
<org.eventb.core.prPred name="p11" org.eventb.core.predicate="toy_app∈Component"/>
|
||||
<org.eventb.core.prPred name="p12" org.eventb.core.predicate="toy_container=(∅ ⦂ ℙ(Component×Component))"/>
|
||||
<org.eventb.core.prPred name="p13" org.eventb.core.predicate="container_var={safety_model ↦ safety_container,toy_model ↦ toy_container}"/>
|
||||
<org.eventb.core.prPred name="p14" org.eventb.core.predicate="toy_inp_2∈IPort"/>
|
||||
<org.eventb.core.prPred name="p15" org.eventb.core.predicate="ballot_box∈Component"/>
|
||||
<org.eventb.core.prPred name="p16" org.eventb.core.predicate="Pat∈Pattern"/>
|
||||
<org.eventb.core.prPred name="p17" org.eventb.core.predicate="safety_model≠toy_model"/>
|
||||
<org.eventb.core.prPred name="p18" org.eventb.core.predicate="safety_model∈Model"/>
|
||||
<org.eventb.core.prPred name="p19" org.eventb.core.predicate="toy_output∈OPort"/>
|
||||
<org.eventb.core.prPred name="p20" org.eventb.core.predicate="f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
|
||||
<org.eventb.core.prPred name="p21" org.eventb.core.predicate="Mdl∈Model ∖ Pattern"/>
|
||||
<org.eventb.core.prPred name="p22" org.eventb.core.predicate="Model={safety_model,toy_model}"/>
|
||||
<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.prProof>
|
||||
<org.eventb.core.prProof name="c_multiplicity_assign /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.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.prAnte name="'">
|
||||
<org.eventb.core.prHypAction name="SELECT0" org.eventb.core.prHyps="p2,p27,p9,p28,p16,p18"/>
|
||||
<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.prString name=".arg" org.eventb.core.prSValue="R1000"/>
|
||||
<org.eventb.core.prString name=".config_id" org.eventb.core.prSValue="CVC4"/>
|
||||
</org.eventb.core.prRule>
|
||||
</org.eventb.core.prAnte>
|
||||
</org.eventb.core.prRule>
|
||||
<org.eventb.core.prIdent name="IPort" org.eventb.core.type="ℙ(Port)"/>
|
||||
<org.eventb.core.prIdent name="Inst" 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="Pattern" org.eventb.core.type="ℙ(Model)"/>
|
||||
<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="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_model" org.eventb.core.type="Model"/>
|
||||
<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_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="p2" 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="p4" org.eventb.core.predicate="components_var={safety_model ↦ {replicator,ballot_box,safety_comp},toy_model ↦ {toy_app}}"/>
|
||||
<org.eventb.core.prPred name="p5" org.eventb.core.predicate="safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
|
||||
<org.eventb.core.prPred name="p6" org.eventb.core.predicate="toy_app∈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 name="p8" org.eventb.core.predicate="toy_inp_2∈IPort"/>
|
||||
<org.eventb.core.prPred name="p9" org.eventb.core.predicate="Pat∈Pattern"/>
|
||||
<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="p11" org.eventb.core.predicate="f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
|
||||
<org.eventb.core.prPred name="p12" org.eventb.core.predicate="Model={safety_model,toy_model}"/>
|
||||
<org.eventb.core.prPred name="p13" 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="p14" org.eventb.core.predicate="safety_comp∈Component"/>
|
||||
<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="p16" org.eventb.core.predicate="Inst≠Mdl"/>
|
||||
<org.eventb.core.prPred name="p17" org.eventb.core.predicate="toy_inp_1∈IPort"/>
|
||||
<org.eventb.core.prPred name="p18" org.eventb.core.predicate="partition(Port,IPort,OPort)"/>
|
||||
<org.eventb.core.prPred name="p19" org.eventb.core.predicate="replicator∈Component"/>
|
||||
<org.eventb.core.prPred name="p20" org.eventb.core.predicate="toy_container=(∅ ⦂ ℙ(Component×Component))"/>
|
||||
<org.eventb.core.prPred name="p21" org.eventb.core.predicate="ballot_box∈Component"/>
|
||||
<org.eventb.core.prPred name="p22" org.eventb.core.predicate="c_mult_others_par={replicator ↦ 3,ballot_box ↦ 1}"/>
|
||||
<org.eventb.core.prPred name="p23" org.eventb.core.predicate="safety_model≠toy_model"/>
|
||||
<org.eventb.core.prPred name="p24" org.eventb.core.predicate="safety_model∈Model"/>
|
||||
<org.eventb.core.prPred name="p25" org.eventb.core.predicate="toy_output∈OPort"/>
|
||||
<org.eventb.core.prPred name="p26" org.eventb.core.predicate="inst_components_par={safety_comp ↦ toy_app}"/>
|
||||
<org.eventb.core.prPred name="p27" org.eventb.core.predicate="Mdl∈Model ∖ Pattern"/>
|
||||
<org.eventb.core.prPred name="p28" org.eventb.core.predicate="Inst∈Model ∖ Pattern"/>
|
||||
<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.prProof>
|
||||
<org.eventb.core.prProof name="c_multiplicity_assign /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.prRule name="r0" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="sl/ds" org.eventb.core.prHyps="">
|
||||
<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.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.prString name=".arg" org.eventb.core.prSValue="R1000"/>
|
||||
<org.eventb.core.prString name=".config_id" org.eventb.core.prSValue="Z3"/>
|
||||
</org.eventb.core.prRule>
|
||||
</org.eventb.core.prAnte>
|
||||
</org.eventb.core.prRule>
|
||||
<org.eventb.core.prIdent name="Inst" org.eventb.core.type="Model"/>
|
||||
<org.eventb.core.prIdent name="Mdl" 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="ballot_box" 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_container" org.eventb.core.type="ℙ(Component×Component)"/>
|
||||
<org.eventb.core.prIdent name="safety_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.prPred name="p7" org.eventb.core.predicate="Pattern⊆Model"/>
|
||||
<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="p2" org.eventb.core.predicate="Inst≠Mdl"/>
|
||||
<org.eventb.core.prPred name="p10" org.eventb.core.predicate="c_multiplicity_var∈Model ⇸ ℙ(Component × ℤ)">
|
||||
<org.eventb.core.prIdent name="c_multiplicity_var" org.eventb.core.type="ℙ(Model×ℙ(Component×ℤ))"/>
|
||||
</org.eventb.core.prPred>
|
||||
<org.eventb.core.prPred name="p3" org.eventb.core.predicate="safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
|
||||
<org.eventb.core.prPred name="p8" org.eventb.core.predicate="partition(Port,IPort,OPort)">
|
||||
<org.eventb.core.prIdent name="IPort" org.eventb.core.type="ℙ(Port)"/>
|
||||
<org.eventb.core.prIdent name="OPort" org.eventb.core.type="ℙ(Port)"/>
|
||||
<org.eventb.core.prIdent name="Port" org.eventb.core.type="ℙ(Port)"/>
|
||||
</org.eventb.core.prPred>
|
||||
<org.eventb.core.prPred name="p4" org.eventb.core.predicate="Mdl∈Model ∖ Pattern"/>
|
||||
<org.eventb.core.prPred name="p5" org.eventb.core.predicate="Inst∈Model ∖ Pattern"/>
|
||||
<org.eventb.core.prPred name="p6" org.eventb.core.predicate="Model={safety_model,toy_model}"/>
|
||||
<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.prIdent name="inst_components_par" org.eventb.core.type="ℙ(Component×Component)"/>
|
||||
</org.eventb.core.prPred>
|
||||
<org.eventb.core.prPred name="p9" org.eventb.core.predicate="safety_model∈dom(c_multiplicity_var)">
|
||||
<org.eventb.core.prIdent name="c_multiplicity_var" org.eventb.core.type="ℙ(Model×ℙ(Component×ℤ))"/>
|
||||
</org.eventb.core.prPred>
|
||||
<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.prProof>
|
||||
<org.eventb.core.prProof name="to_unfold_c_var /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.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.prAnte name="'">
|
||||
<org.eventb.core.prHypAction name="SELECT0" org.eventb.core.prHyps="p7,p4,p0,p5,p2,p8,p9,p10,p11"/>
|
||||
<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.prString name=".arg" org.eventb.core.prSValue="R1000"/>
|
||||
<org.eventb.core.prString name=".config_id" org.eventb.core.prSValue="Z3"/>
|
||||
</org.eventb.core.prRule>
|
||||
</org.eventb.core.prAnte>
|
||||
</org.eventb.core.prRule>
|
||||
<org.eventb.core.prIdent name="Inst" org.eventb.core.type="Model"/>
|
||||
<org.eventb.core.prIdent name="Mdl" 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="ballot_box" 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_container" org.eventb.core.type="ℙ(Component×Component)"/>
|
||||
<org.eventb.core.prIdent name="safety_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.prPred name="p7" org.eventb.core.predicate="Pattern⊆Model"/>
|
||||
<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="p2" org.eventb.core.predicate="Inst≠Mdl"/>
|
||||
<org.eventb.core.prPred name="p10" org.eventb.core.predicate="c_multiplicity_var∈Model ⇸ ℙ(Component × ℤ)">
|
||||
<org.eventb.core.prIdent name="c_multiplicity_var" org.eventb.core.type="ℙ(Model×ℙ(Component×ℤ))"/>
|
||||
</org.eventb.core.prPred>
|
||||
<org.eventb.core.prPred name="p3" org.eventb.core.predicate="safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
|
||||
<org.eventb.core.prPred name="p8" org.eventb.core.predicate="partition(Port,IPort,OPort)">
|
||||
<org.eventb.core.prIdent name="IPort" org.eventb.core.type="ℙ(Port)"/>
|
||||
<org.eventb.core.prIdent name="OPort" org.eventb.core.type="ℙ(Port)"/>
|
||||
<org.eventb.core.prIdent name="Port" org.eventb.core.type="ℙ(Port)"/>
|
||||
</org.eventb.core.prPred>
|
||||
<org.eventb.core.prPred name="p4" org.eventb.core.predicate="Mdl∈Model ∖ Pattern"/>
|
||||
<org.eventb.core.prPred name="p5" org.eventb.core.predicate="Inst∈Model ∖ Pattern"/>
|
||||
<org.eventb.core.prPred name="p6" org.eventb.core.predicate="Model={safety_model,toy_model}"/>
|
||||
<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.prIdent name="inst_components_par" org.eventb.core.type="ℙ(Component×Component)"/>
|
||||
</org.eventb.core.prPred>
|
||||
<org.eventb.core.prPred name="p9" org.eventb.core.predicate="safety_model∈dom(c_multiplicity_var)">
|
||||
<org.eventb.core.prIdent name="c_multiplicity_var" org.eventb.core.type="ℙ(Model×ℙ(Component×ℤ))"/>
|
||||
</org.eventb.core.prPred>
|
||||
<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.prProof>
|
||||
<org.eventb.core.prProof name="to_unfold_c_var /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.prRule name="r0" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="sl/ds" org.eventb.core.prHyps="">
|
||||
<org.eventb.core.prAnte name="'">
|
||||
<org.eventb.core.prHypAction name="SELECT0" org.eventb.core.prHyps="p3,p36,p14,p37,p23,p26,p18,p25,p11,p22,p6,p10,p7"/>
|
||||
<org.eventb.core.prRule name="r1" org.eventb.core.confidence="1000" org.eventb.core.prDisplay="CVC3" org.eventb.core.prGoal="p0" org.eventb.core.prHyps="p27,p30,p20,p21,p8,p1,p29,p33,p19,p32,p17,p9,p24,p13,p34,p5,p12,p16,p4,p35,p31,p15,p2,p28,p3,p36,p14,p37,p23,p26,p18,p25,p11,p22,p6,p10,p7">
|
||||
<org.eventb.core.prString name=".arg" org.eventb.core.prSValue="R1000"/>
|
||||
<org.eventb.core.prString name=".config_id" org.eventb.core.prSValue="CVC3"/>
|
||||
</org.eventb.core.prRule>
|
||||
</org.eventb.core.prAnte>
|
||||
</org.eventb.core.prRule>
|
||||
<org.eventb.core.prIdent name="IPort" org.eventb.core.type="ℙ(Port)"/>
|
||||
<org.eventb.core.prIdent name="Inst" 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="Pattern" org.eventb.core.type="ℙ(Model)"/>
|
||||
<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="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_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_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="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="Pattern⊆Model"/>
|
||||
<org.eventb.core.prPred name="p4" 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="p6" org.eventb.core.predicate="components_var∈Model ⇸ ℙ(Component)"/>
|
||||
<org.eventb.core.prPred name="p7" org.eventb.core.predicate="container_var∈Model ⇸ ℙ(Component × Component)"/>
|
||||
<org.eventb.core.prPred name="p8" org.eventb.core.predicate="safety_container={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
|
||||
<org.eventb.core.prPred name="p9" org.eventb.core.predicate="toy_app∈Component"/>
|
||||
<org.eventb.core.prPred name="p10" org.eventb.core.predicate="safety_model∈dom(container_var)"/>
|
||||
<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="p12" 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="p14" org.eventb.core.predicate="Pat∈Pattern"/>
|
||||
<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="p16" org.eventb.core.predicate="f_container_var={replicator ↦ safety_comp,ballot_box ↦ safety_comp}"/>
|
||||
<org.eventb.core.prPred name="p17" org.eventb.core.predicate="Model={safety_model,toy_model}"/>
|
||||
<org.eventb.core.prPred name="p18" org.eventb.core.predicate="safety_model∈dom(c_multiplicity_var)"/>
|
||||
<org.eventb.core.prPred name="p19" org.eventb.core.predicate="toy_model∈Model"/>
|
||||
<org.eventb.core.prPred name="p20" org.eventb.core.predicate="safety_comp∈Component"/>
|
||||
<org.eventb.core.prPred name="p21" org.eventb.core.predicate="replicator≠ballot_box∧replicator≠safety_comp∧ballot_box≠safety_comp"/>
|
||||
<org.eventb.core.prPred name="p22" org.eventb.core.predicate="safety_model∈dom(components_var)"/>
|
||||
<org.eventb.core.prPred name="p23" org.eventb.core.predicate="Inst≠Mdl"/>
|
||||
<org.eventb.core.prPred name="p24" org.eventb.core.predicate="toy_inp_1∈IPort"/>
|
||||
<org.eventb.core.prPred name="p25" org.eventb.core.predicate="c_multiplicity_var∈Model ⇸ ℙ(Component × ℤ)"/>
|
||||
<org.eventb.core.prPred name="p26" org.eventb.core.predicate="partition(Port,IPort,OPort)"/>
|
||||
<org.eventb.core.prPred name="p27" org.eventb.core.predicate="replicator∈Component"/>
|
||||
<org.eventb.core.prPred name="p28" org.eventb.core.predicate="to_unfold_c_var={safety_comp}"/>
|
||||
<org.eventb.core.prPred name="p29" org.eventb.core.predicate="toy_container=(∅ ⦂ ℙ(Component×Component))"/>
|
||||
<org.eventb.core.prPred name="p30" org.eventb.core.predicate="ballot_box∈Component"/>
|
||||
<org.eventb.core.prPred name="p31" org.eventb.core.predicate="c_mult_others_par={replicator ↦ 3,ballot_box ↦ 1}"/>
|
||||
<org.eventb.core.prPred name="p32" org.eventb.core.predicate="safety_model≠toy_model"/>
|
||||
<org.eventb.core.prPred name="p0" org.eventb.core.predicate="to_unfold_c_var=components_var(safety_model) ∖ dom(container_var(safety_model))"/>
|
||||
<org.eventb.core.prPred name="p33" org.eventb.core.predicate="safety_model∈Model"/>
|
||||
<org.eventb.core.prPred name="p34" org.eventb.core.predicate="toy_output∈OPort"/>
|
||||
<org.eventb.core.prPred name="p35" org.eventb.core.predicate="inst_components_par={safety_comp ↦ toy_app}"/>
|
||||
<org.eventb.core.prPred name="p36" org.eventb.core.predicate="Mdl∈Model ∖ Pattern"/>
|
||||
<org.eventb.core.prPred name="p37" org.eventb.core.predicate="Inst∈Model ∖ Pattern"/>
|
||||
<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.prProof>
|
||||
</org.eventb.core.prFile>
|
||||
47
Event-B/pseim/pattern_safety.buc
Normal file
47
Event-B/pseim/pattern_safety.buc
Normal file
@@ -0,0 +1,47 @@
|
||||
<?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.codegen.ui.cgConfig" org.eventb.texttools.text_lastmodified="1516796717157" org.eventb.texttools.text_representation="context pattern_safety extends cLink constants replicator ballot_box safety_model safety_comp safety_container toy_model toy_container toy_app toy_inp_1 toy_inp_2 toy_output components_var container_var f_container_var inst_components_par c_mult_others_par c_multiplicity_var to_unfold_c_var axioms @replicator_ty replicator ∈ Component // safety pattern @ballot_box_ty ballot_box ∈ Component @safety_comp safety_comp ∈ Component @all_diff_component replicator ≠ ballot_box ∧ replicator ≠ safety_comp ∧ ballot_box ≠ safety_comp @safety_container safety_container = {replicator ↦ safety_comp, ballot_box ↦ safety_comp} @toy_container_ty toy_container ∈ Component ⇸ Component @toy_container_def toy_container = ∅ @safety_model safety_model ∈ Model @toy_model_ty toy_model ∈ Model @safety_diff_toy safety_model ≠ toy_model @Model_def Model = {safety_model,toy_model} @toy_app_ty toy_app ∈ Component // toy application @toy_inp_1_ty toy_inp_1 ∈ IPort @toy_inp_2_ty toy_inp_2 ∈ IPort @toy_output_ty toy_output ∈ OPort @components_var_def components_var = {safety_model ↦ {replicator,ballot_box,safety_comp}, toy_model ↦ {toy_app} } @container_var_def container_var = {safety_model ↦ safety_container, toy_model ↦ toy_container} @f_container_var f_container_var = {replicator ↦ safety_comp, ballot_box ↦ safety_comp} theorem @f_acycl ∀m· container_var(m) ⊆ f_container_var ∧ f_container_var;f_container_var ⊆ f_container_var ∧ id ∩ f_container_var = ∅ @inst_components_def inst_components_par = {safety_comp ↦ toy_app} @c_mult_others_def c_mult_others_par = {replicator ↦ 3, ballot_box ↦ 1} // pattern instantiation @c_muliplicity_var_def c_multiplicity_var = {safety_model ↦ {safety_comp ↦ 1, replicator ↦ 3, ballot_box ↦ 1}} theorem @c_multiplicity_assign 		c_multiplicity_var(safety_model) = c_mult_others_par 			 {pc· pc ∈ dom(inst_components_par) ∣ pc ↦ card(inst_components_par[{pc}])} @to_unfold_c_var_def to_unfold_c_var = {safety_comp} theorem @to_unfold_c_var 		to_unfold_c_var = (components_var(safety_model) ∖ dom(container_var(safety_model))) end " version="3">
|
||||
<org.eventb.core.extendsContext name="_-yB9QAAPEeis7pYemx4WBQ" org.eventb.core.target="cLink"/>
|
||||
<org.eventb.core.constant name="_-yB9QQAPEeis7pYemx4WBQ" org.eventb.core.identifier="replicator"/>
|
||||
<org.eventb.core.constant name="_-yCkUAAPEeis7pYemx4WBQ" org.eventb.core.identifier="ballot_box"/>
|
||||
<org.eventb.core.constant name="_-yCkUQAPEeis7pYemx4WBQ" org.eventb.core.identifier="safety_model"/>
|
||||
<org.eventb.core.axiom name="_-yCkUgAPEeis7pYemx4WBQ" org.eventb.core.comment="safety pattern" org.eventb.core.label="replicator_ty" org.eventb.core.predicate="replicator ∈ Component"/>
|
||||
<org.eventb.core.axiom name="_-yCkUwAPEeis7pYemx4WBQ" org.eventb.core.label="ballot_box_ty" org.eventb.core.predicate="ballot_box ∈ Component"/>
|
||||
<org.eventb.core.axiom name="_-yCkVAAPEeis7pYemx4WBQ" org.eventb.core.label="safety_comp" org.eventb.core.predicate="safety_comp ∈ Component"/>
|
||||
<org.eventb.core.axiom name="_-yCkVQAPEeis7pYemx4WBQ" org.eventb.core.label="all_diff_component" org.eventb.core.predicate="replicator ≠ ballot_box ∧ replicator ≠ safety_comp ∧ ballot_box ≠ safety_comp"/>
|
||||
<org.eventb.core.constant name="_H1oEsAAQEeis7pYemx4WBQ" org.eventb.core.identifier="safety_comp"/>
|
||||
<org.eventb.core.constant name="_oim4QAAQEeis7pYemx4WBQ" org.eventb.core.identifier="safety_container"/>
|
||||
<org.eventb.core.constant name="_oim4QQAQEeis7pYemx4WBQ" org.eventb.core.identifier="toy_model"/>
|
||||
<org.eventb.core.constant name="_oim4QgAQEeis7pYemx4WBQ" org.eventb.core.identifier="toy_container"/>
|
||||
<org.eventb.core.constant name="_oim4QwAQEeis7pYemx4WBQ" org.eventb.core.identifier="toy_app"/>
|
||||
<org.eventb.core.axiom name="_oim4RAAQEeis7pYemx4WBQ" org.eventb.core.label="safety_container" org.eventb.core.predicate="safety_container = {replicator ↦ safety_comp, ballot_box ↦ safety_comp}"/>
|
||||
<org.eventb.core.axiom name="_oim4RQAQEeis7pYemx4WBQ" org.eventb.core.label="toy_container_ty" org.eventb.core.predicate="toy_container ∈ Component ⇸ Component"/>
|
||||
<org.eventb.core.axiom name="_oim4RgAQEeis7pYemx4WBQ" org.eventb.core.label="toy_container_def" org.eventb.core.predicate="toy_container = ∅"/>
|
||||
<org.eventb.core.axiom name="_oinfUAAQEeis7pYemx4WBQ" org.eventb.core.label="safety_model" org.eventb.core.predicate="safety_model ∈ Model"/>
|
||||
<org.eventb.core.constant name="_9c9V0AAREeis7pYemx4WBQ" org.eventb.core.identifier="toy_inp_1"/>
|
||||
<org.eventb.core.constant name="_9c9V0QAREeis7pYemx4WBQ" org.eventb.core.identifier="toy_inp_2"/>
|
||||
<org.eventb.core.axiom name="_9c9V0gAREeis7pYemx4WBQ" org.eventb.core.label="toy_model_ty" org.eventb.core.predicate="toy_model ∈ Model"/>
|
||||
<org.eventb.core.axiom name="_9c9V0wAREeis7pYemx4WBQ" org.eventb.core.label="safety_diff_toy" org.eventb.core.predicate="safety_model ≠ toy_model"/>
|
||||
<org.eventb.core.axiom name="_9c9V1AAREeis7pYemx4WBQ" org.eventb.core.label="Model_def" org.eventb.core.predicate="Model = {safety_model,toy_model}"/>
|
||||
<org.eventb.core.axiom name="_9c984AAREeis7pYemx4WBQ" org.eventb.core.comment="toy application" org.eventb.core.label="toy_app_ty" org.eventb.core.predicate="toy_app ∈ Component"/>
|
||||
<org.eventb.core.constant name="_9lz6YAASEeis7pYemx4WBQ" org.eventb.core.identifier="toy_output"/>
|
||||
<org.eventb.core.constant name="_9lz6YQASEeis7pYemx4WBQ" org.eventb.core.identifier="components_var"/>
|
||||
<org.eventb.core.axiom name="_9lz6YgASEeis7pYemx4WBQ" org.eventb.core.label="toy_inp_1_ty" org.eventb.core.predicate="toy_inp_1 ∈ IPort"/>
|
||||
<org.eventb.core.constant name="_kRNbAAEBEei-meqqkXX9bA" org.eventb.core.identifier="container_var"/>
|
||||
<org.eventb.core.constant name="_kRNbAQEBEei-meqqkXX9bA" org.eventb.core.identifier="f_container_var"/>
|
||||
<org.eventb.core.constant name="_kRNbAgEBEei-meqqkXX9bA" org.eventb.core.identifier="inst_components_par"/>
|
||||
<org.eventb.core.constant name="_kRNbAwEBEei-meqqkXX9bA" org.eventb.core.identifier="c_mult_others_par"/>
|
||||
<org.eventb.core.constant name="_kROCEAEBEei-meqqkXX9bA" org.eventb.core.identifier="c_multiplicity_var"/>
|
||||
<org.eventb.core.constant name="_kROCEQEBEei-meqqkXX9bA" org.eventb.core.identifier="to_unfold_c_var"/>
|
||||
<org.eventb.core.axiom name="_kROCEgEBEei-meqqkXX9bA" org.eventb.core.label="toy_inp_2_ty" org.eventb.core.predicate="toy_inp_2 ∈ IPort"/>
|
||||
<org.eventb.core.axiom name="_kROCEwEBEei-meqqkXX9bA" org.eventb.core.label="toy_output_ty" org.eventb.core.predicate="toy_output ∈ OPort"/>
|
||||
<org.eventb.core.axiom name="_kROCFAEBEei-meqqkXX9bA" 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.axiom name="_kROCFQEBEei-meqqkXX9bA" org.eventb.core.label="container_var_def" org.eventb.core.predicate="container_var = {safety_model ↦ safety_container, toy_model ↦ toy_container}"/>
|
||||
<org.eventb.core.axiom name="_kROCFgEBEei-meqqkXX9bA" org.eventb.core.label="f_container_var" org.eventb.core.predicate="f_container_var = {replicator ↦ safety_comp, ballot_box ↦ safety_comp}"/>
|
||||
<org.eventb.core.axiom name="_kROCFwEBEei-meqqkXX9bA" org.eventb.core.label="f_acycl" org.eventb.core.predicate="∀m· container_var(m) ⊆ f_container_var ∧ f_container_var;f_container_var ⊆ f_container_var ∧ id ∩ f_container_var = ∅" org.eventb.core.theorem="true"/>
|
||||
<org.eventb.core.axiom name="_kROpIAEBEei-meqqkXX9bA" org.eventb.core.label="inst_components_def" org.eventb.core.predicate="inst_components_par = {safety_comp ↦ toy_app}"/>
|
||||
<org.eventb.core.axiom name="_kROpIQEBEei-meqqkXX9bA" org.eventb.core.comment="pattern instantiation" org.eventb.core.label="c_mult_others_def" org.eventb.core.predicate="c_mult_others_par = {replicator ↦ 3, ballot_box ↦ 1}"/>
|
||||
<org.eventb.core.axiom name="_kROpIgEBEei-meqqkXX9bA" 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.axiom name="_kROpIwEBEei-meqqkXX9bA" org.eventb.core.label="c_multiplicity_assign " org.eventb.core.predicate="c_multiplicity_var(safety_model) = c_mult_others_par 			 {pc· pc ∈ dom(inst_components_par) ∣ pc ↦ card(inst_components_par[{pc}])}" org.eventb.core.theorem="true"/>
|
||||
<org.eventb.core.axiom name="_kROpJAEBEei-meqqkXX9bA" org.eventb.core.label="to_unfold_c_var_def" org.eventb.core.predicate="to_unfold_c_var = {safety_comp}"/>
|
||||
<org.eventb.core.axiom name="_kROpJQEBEei-meqqkXX9bA" org.eventb.core.label="to_unfold_c_var " org.eventb.core.predicate="to_unfold_c_var = (components_var(safety_model) ∖ dom(container_var(safety_model)))" org.eventb.core.theorem="true"/>
|
||||
</org.eventb.core.contextFile>
|
||||
36
Event-B/pseim/preuves.txt
Normal file
36
Event-B/pseim/preuves.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
L1: new_components;f0 = {}
|
||||
L2: f0;new_components~ = {}
|
||||
|
||||
∀ m ·
|
||||
∃ f ·
|
||||
f∈components(m) ↔ components(m) ∧
|
||||
container(m)⊆f ∧ f;f⊆f ∧
|
||||
id∩f=∅
|
||||
instancier pour Mdl et Inst
|
||||
|
||||
Montrer les deux lemmes (L1, L2)
|
||||
|
||||
Faire deux cas en fonction des valeurs de Mdl (dc m = Mdl)
|
||||
|
||||
Magic (SMT)
|
||||
|
||||
instancier exist avec acycl
|
||||
acycl: (new_components∼;f;inst_components;f0) ∪ (new_components∼;f;(new_components ∪ inst_components)) ∪ f0
|
||||
|
||||
faire apparaitre les cas (Magic SMT)
|
||||
|
||||
distribuer les unions à gauche de l'inclusion
|
||||
|
||||
faire les rewrite L1 L2
|
||||
|
||||
Auto ????? Magic ...
|
||||
|
||||
====================
|
||||
|
||||
pour unfold_node acyclic
|
||||
((ran(new_c) × {dest});f) ∪ (ran(new_c) × {dest}) ∪ f
|
||||
|
||||
============================================
|
||||
apply_pattern_link_oo:
|
||||
|
||||
ajouter XXX;(inst_comp \/ new_com); (inst_comp\/new_comp)~= XXX
|
||||
23
Event-B/pseim/team/cComponent.buc.xmb
Normal file
23
Event-B/pseim/team/cComponent.buc.xmb
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<context:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:context="http://emf.eventb.org/models/core/context/2014" name="cComponent">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="configuration" value="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase"/>
|
||||
<details key="name" value="cComponent"/>
|
||||
</annotations>
|
||||
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
|
||||
<details key="extends cModel" value="_IT7_UPqUEeectLZKwQfI0A"/>
|
||||
</annotations>
|
||||
<attributes key="org.eventb.texttools.text_lastmodified">
|
||||
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000162677D4428"/>
|
||||
</attributes>
|
||||
<attributes key="org.eventb.texttools.text_representation">
|
||||
<value type="String" value="ACED0005740036636F6E746578742063436F6D706F6E656E7420657874656E647320634D6F64656C0A0A7365747320436F6D706F6E656E740A656E640A"/>
|
||||
</attributes>
|
||||
<extends href="../cModel.buc#http://emf.eventb.org/models/core/context/2014::Context::cModel"/>
|
||||
<sets name="Component">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_IT7_UfqUEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="Component"/>
|
||||
</annotations>
|
||||
</sets>
|
||||
</context:Context>
|
||||
71
Event-B/pseim/team/cLink.buc.xmb
Normal file
71
Event-B/pseim/team/cLink.buc.xmb
Normal file
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<context:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:context="http://emf.eventb.org/models/core/context/2014" name="cLink">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="configuration" value="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase;org.eventb.codegen.ui.cgConfig"/>
|
||||
<details key="name" value="cLink"/>
|
||||
</annotations>
|
||||
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
|
||||
<details key="extends cPort" value="'"/>
|
||||
</annotations>
|
||||
<attributes key="org.eventb.texttools.text_lastmodified">
|
||||
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000160FA6BAD63"/>
|
||||
</attributes>
|
||||
<attributes key="org.eventb.texttools.text_representation">
|
||||
<value type="String" value="ACED00057400EA636F6E7465787420634C696E6B20657874656E64732063506F72740A73657473204C696E6B0A636F6E7374616E74730A094C4B696E64205472616E73706F7365204964656E7469747920536869667420466972737420526F746174650A0A6178696F6D730A09406C696E6B5F6B20706172746974696F6E284C696E6B2C205472616E73706F73652C204964656E746974792C2053686966742C2046697273742C20526F74617465290A09404C4B696E64204C4B696E64203D207B5472616E73706F73652C204964656E746974792C2053686966742C2046697273742C20526F746174657D0A0A656E640A"/>
|
||||
</attributes>
|
||||
<extends href="../cPort.buc#http://emf.eventb.org/models/core/context/2014::Context::cPort"/>
|
||||
<sets name="Link">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_IabHcPoIEeeOzddrJxUeNA"/>
|
||||
<details key="identifier" value="Link"/>
|
||||
</annotations>
|
||||
</sets>
|
||||
<constants name="LKind">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_u1ZfsPgzEeeeS5KQUtrGlw"/>
|
||||
<details key="identifier" value="LKind"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="Transpose">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_WzjhMPg8EeeeS5KQUtrGlw"/>
|
||||
<details key="identifier" value="Transpose"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="Identity">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_WzjhMfg8EeeeS5KQUtrGlw"/>
|
||||
<details key="identifier" value="Identity"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="Shift">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_WzjhMvg8EeeeS5KQUtrGlw"/>
|
||||
<details key="identifier" value="Shift"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="First">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_WzjhM_g8EeeeS5KQUtrGlw"/>
|
||||
<details key="identifier" value="First"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="Rotate">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_WzjhNPg8EeeeS5KQUtrGlw"/>
|
||||
<details key="identifier" value="Rotate"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<axioms name="link_k" predicate="partition(Link, Transpose, Identity, Shift, First, Rotate)">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_u1ZfsfgzEeeeS5KQUtrGlw"/>
|
||||
<details key="label" value="link_k"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="LKind" predicate="LKind = {Transpose, Identity, Shift, First, Rotate}">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_u1ZfsvgzEeeeS5KQUtrGlw"/>
|
||||
<details key="label" value="LKind"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
</context:Context>
|
||||
79
Event-B/pseim/team/cModel.buc.xmb
Normal file
79
Event-B/pseim/team/cModel.buc.xmb
Normal file
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<context:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:context="http://emf.eventb.org/models/core/context/2014" name="cModel">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="configuration" value="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase"/>
|
||||
<details key="name" value="cModel"/>
|
||||
</annotations>
|
||||
<attributes key="org.eventb.texttools.text_lastmodified">
|
||||
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000161429C4912"/>
|
||||
</attributes>
|
||||
<attributes key="org.eventb.texttools.text_representation">
|
||||
<value type="String" value="ACED00057400ED636F6E7465787420634D6F64656C0A0A73657473204D6F64656C2050726F70657274790A0A636F6E7374616E7473204D646C205061747465726E2050617420496E73740A0A6178696F6D730A2020405061747465726E5F7479205061747465726E20E28A86204D6F64656C0A2020404D646C5F7479204D646C20E28888204D6F64656C20E28896205061747465726E0A2020405061745F74792050617420E28888205061747465726E0A202040496E73745F747920496E737420E28888204D6F64656C20E28896205061747465726E0A202040496E73745F4D646C20496E737420E289A0204D646C0A656E640A"/>
|
||||
</attributes>
|
||||
<sets name="Model">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_5dsj0PqTEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="Model"/>
|
||||
</annotations>
|
||||
</sets>
|
||||
<sets name="Property">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_9dBM4ADlEei-meqqkXX9bA"/>
|
||||
<details key="identifier" value="Property"/>
|
||||
</annotations>
|
||||
</sets>
|
||||
<constants name="Mdl">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_h20JYPqkEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="Mdl"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="Pattern">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_h20wcPqkEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="Pattern"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="Pat">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_b4aBsPraEeerIsS6OyYQ4w"/>
|
||||
<details key="identifier" value="Pat"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="Inst">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_fxjdEAKnEeiAPf1wPUl3Gw"/>
|
||||
<details key="identifier" value="Inst"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<axioms name="Pattern_ty" predicate="Pattern ⊆ Model">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_h20wcfqkEeectLZKwQfI0A"/>
|
||||
<details key="label" value="Pattern_ty"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="Mdl_ty" predicate="Mdl ∈ Model ∖ Pattern">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_h20wcvqkEeectLZKwQfI0A"/>
|
||||
<details key="label" value="Mdl_ty"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="Pat_ty" predicate="Pat ∈ Pattern">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_h20wc_qkEeectLZKwQfI0A"/>
|
||||
<details key="label" value="Pat_ty"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="Inst_ty" predicate="Inst ∈ Model ∖ Pattern">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_fxjdEQKnEeiAPf1wPUl3Gw"/>
|
||||
<details key="label" value="Inst_ty"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="Inst_Mdl" predicate="Inst ≠ Mdl">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_DGgrYAUMEei9ocE08JsPSw"/>
|
||||
<details key="label" value="Inst_Mdl"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
</context:Context>
|
||||
41
Event-B/pseim/team/cPort.buc.xmb
Normal file
41
Event-B/pseim/team/cPort.buc.xmb
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<context:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:context="http://emf.eventb.org/models/core/context/2014" name="cPort">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="configuration" value="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase"/>
|
||||
<details key="name" value="cPort"/>
|
||||
</annotations>
|
||||
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
|
||||
<details key="extends cComponent" value="'"/>
|
||||
</annotations>
|
||||
<attributes key="org.eventb.texttools.text_lastmodified">
|
||||
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000160FEC77876"/>
|
||||
</attributes>
|
||||
<attributes key="org.eventb.texttools.text_representation">
|
||||
<value type="String" value="ACED0005740071636F6E746578742063506F727420657874656E64732063436F6D706F6E656E740A736574730A09506F72740A636F6E7374616E74730A0949506F7274204F506F72740A6178696F6D730A09407061727420706172746974696F6E28506F72742C49506F72742C4F506F7274290A656E640A"/>
|
||||
</attributes>
|
||||
<extends href="../cComponent.buc#http://emf.eventb.org/models/core/context/2014::Context::cComponent"/>
|
||||
<sets name="Port">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_YwaNQPqeEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="Port"/>
|
||||
</annotations>
|
||||
</sets>
|
||||
<constants name="IPort">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_Y1LocPqyEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="IPort"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="OPort">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_Y1LocfqyEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="OPort"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<axioms name="part" predicate="partition(Port,IPort,OPort)">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_Y1LocvqyEeectLZKwQfI0A"/>
|
||||
<details key="label" value="part"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
</context:Context>
|
||||
507
Event-B/pseim/team/mComponent.bum.xmb
Normal file
507
Event-B/pseim/team/mComponent.bum.xmb
Normal file
File diff suppressed because one or more lines are too long
605
Event-B/pseim/team/mLink.bum.xmb
Normal file
605
Event-B/pseim/team/mLink.bum.xmb
Normal file
File diff suppressed because one or more lines are too long
444
Event-B/pseim/team/mPort.bum.xmb
Normal file
444
Event-B/pseim/team/mPort.bum.xmb
Normal file
File diff suppressed because one or more lines are too long
160
Event-B/pseim/team/mProperty.bum.xmb
Normal file
160
Event-B/pseim/team/mProperty.bum.xmb
Normal file
@@ -0,0 +1,160 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<machine:Machine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:machine="http://emf.eventb.org/models/core/machine/2014" name="mProperty">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="configuration" value="org.eventb.core.fwd;de.prob.units.mchBase"/>
|
||||
<details key="name" value="mProperty"/>
|
||||
</annotations>
|
||||
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
|
||||
<details key="refines mComponent" value="_0kfYMPqeEeectLZKwQfI0A"/>
|
||||
<details key="sees cComponent" value="_Rf6I4ADlEei-meqqkXX9bA"/>
|
||||
</annotations>
|
||||
<attributes key="org.eventb.texttools.text_lastmodified">
|
||||
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000016272303A26"/>
|
||||
</attributes>
|
||||
<attributes key="org.eventb.texttools.text_representation">
|
||||
<value type="String" value="ACED00057403806D616368696E65206D50726F706572747920726566696E6573206D436F6D706F6E656E742020736565732063436F6D706F6E656E740A0A7661726961626C657320636F6D706F6E656E747320636F6E7461696E657220635F6D756C7469706C696369747920746F5F636C6F6E655F6320635F696E64657820746F5F756E666F6C645F6320746F5F756E666F6C645F635F696E206350726F7065727469657320696E7374327061745F630A0A696E76617269616E74730A20204070726F70206350726F7065727469657320E2888820436F6D706F6E656E7420E286942050726F70657274790A0A6576656E74730A20206576656E7420696E7374616E63696174655F7061747465726E20657874656E647320696E7374616E63696174655F7061747465726E0A2020656E640A0A20206576656E7420756E666F6C645F726F6F745F6320657874656E647320756E666F6C645F726F6F745F630A202020207468656E0A2020202020204070726F70206350726F7065727469657320E28994206350726F7065727469657320E288AA202872616E286E65775F6329C3976350726F706572746965735B7B637D5D290A2020656E640A0A20206576656E7420636C6F6E655F6320657874656E647320636C6F6E655F630A2020656E640A0A20206576656E7420756E666F6C645F6E6F64655F6320657874656E647320756E666F6C645F6E6F64655F630A202020207468656E0A2020202020204070726F70206350726F7065727469657320E28994206350726F7065727469657320E288AA202872616E286E65775F6329C3976350726F706572746965735B7B637D5D290A2020656E640A0A20206576656E74206170706C795F7061747465726E20657874656E6473206170706C795F7061747465726E0A20202020616E7920696E73745F70726F70730A2020202077686572650A20202020202040696E73745F70726F7020696E73745F70726F707320E288882050726F706572747920E287B82050726F7065727479202F2F207061747465726E2070726F7065727469657320746F206D6F64656C2070726F706572746965730A202020207468656E0A2020202020204070726F70206350726F7065727469657320E28994206350726F7065727469657320E288AA20202828696E73745F636F6D706F6E656E747320E288AA206E65775F636F6D706F6E656E747329E288BC3B6350726F70657274696573290A2020656E640A656E640A"/>
|
||||
</attributes>
|
||||
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Machine::mComponent"/>
|
||||
<sees href="../cComponent.buc#http://emf.eventb.org/models/core/context/2014::Context::cComponent"/>
|
||||
<variables name="components">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_0kf_QPqeEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="components"/>
|
||||
</annotations>
|
||||
</variables>
|
||||
<variables name="container">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_0kf_QfqeEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="container"/>
|
||||
</annotations>
|
||||
</variables>
|
||||
<variables name="c_multiplicity">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_0kf_QvqeEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="c_multiplicity"/>
|
||||
</annotations>
|
||||
</variables>
|
||||
<variables name="to_clone_c">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_0kf_Q_qeEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="to_clone_c"/>
|
||||
</annotations>
|
||||
</variables>
|
||||
<variables name="c_index">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_btIX4fqwEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="c_index"/>
|
||||
</annotations>
|
||||
</variables>
|
||||
<variables name="to_unfold_c">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_zYW3EPqwEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="to_unfold_c"/>
|
||||
</annotations>
|
||||
</variables>
|
||||
<variables name="to_unfold_c_in">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_ANiZwPqxEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="to_unfold_c_in"/>
|
||||
</annotations>
|
||||
</variables>
|
||||
<variables name="cProperties">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_JtPOYPqxEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="cProperties"/>
|
||||
</annotations>
|
||||
</variables>
|
||||
<variables name="inst2pat_c">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_gk8cUAK8EeiAPf1wPUl3Gw"/>
|
||||
<details key="identifier" value="inst2pat_c"/>
|
||||
</annotations>
|
||||
</variables>
|
||||
<invariants name="prop" predicate="cProperties ∈ Component ↔ Property">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_0kf_RPqeEeectLZKwQfI0A"/>
|
||||
<details key="label" value="prop"/>
|
||||
</annotations>
|
||||
</invariants>
|
||||
<events name="instanciate_pattern" extended="true">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="'"/>
|
||||
<details key="label" value="instanciate_pattern"/>
|
||||
</annotations>
|
||||
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
|
||||
<details key="refines instanciate_pattern" value="_btHw0PqwEeectLZKwQfI0A"/>
|
||||
</annotations>
|
||||
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Event::mComponent.instanciate_pattern"/>
|
||||
</events>
|
||||
<events name="unfold_root_c" extended="true">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_btIX4_qwEeectLZKwQfI0A"/>
|
||||
<details key="label" value="unfold_root_c"/>
|
||||
</annotations>
|
||||
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
|
||||
<details key="refines unfold_root_c" value="_bAhygAKxEeiAPf1wPUl3Gw"/>
|
||||
</annotations>
|
||||
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Event::mComponent.unfold_root_c"/>
|
||||
<actions name="prop" action="cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}])">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_btIX4PqwEeectLZKwQfI0A"/>
|
||||
<details key="label" value="prop"/>
|
||||
</annotations>
|
||||
</actions>
|
||||
</events>
|
||||
<events name="clone_c" extended="true">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_btJmBfqwEeectLZKwQfI0A"/>
|
||||
<details key="label" value="clone_c"/>
|
||||
</annotations>
|
||||
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
|
||||
<details key="refines clone_c" value="_SDieEP06Eees7pYemx4WBQ"/>
|
||||
</annotations>
|
||||
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Event::mComponent.clone_c"/>
|
||||
</events>
|
||||
<events name="unfold_node_c" extended="true">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_btKNEfqwEeectLZKwQfI0A"/>
|
||||
<details key="label" value="unfold_node_c"/>
|
||||
</annotations>
|
||||
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
|
||||
<details key="refines unfold_node_c" value="_bAhygQKxEeiAPf1wPUl3Gw"/>
|
||||
</annotations>
|
||||
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Event::mComponent.unfold_node_c"/>
|
||||
<actions name="prop" action="cProperties ≔ cProperties ∪ (ran(new_c)×cProperties[{c}])">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_btJmA_qwEeectLZKwQfI0A"/>
|
||||
<details key="label" value="prop"/>
|
||||
</annotations>
|
||||
</actions>
|
||||
</events>
|
||||
<events name="apply_pattern" extended="true">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_btKNGPqwEeectLZKwQfI0A"/>
|
||||
<details key="label" value="apply_pattern"/>
|
||||
</annotations>
|
||||
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
|
||||
<details key="refines apply_pattern" value="_Rf7XAQDlEei-meqqkXX9bA"/>
|
||||
</annotations>
|
||||
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Event::mComponent.apply_pattern"/>
|
||||
<parameters name="inst_props">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_btHw0fqwEeectLZKwQfI0A"/>
|
||||
<details key="identifier" value="inst_props"/>
|
||||
</annotations>
|
||||
</parameters>
|
||||
<guards comment="pattern properties to model properties" name="inst_prop" predicate="inst_props ∈ Property ⇸ Property">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_btHw0_qwEeectLZKwQfI0A"/>
|
||||
<details key="label" value="inst_prop"/>
|
||||
<details key="comment" value="pattern properties to model properties"/>
|
||||
</annotations>
|
||||
</guards>
|
||||
<actions name="prop" action="cProperties ≔ cProperties ∪ ((inst_components ∪ new_components)∼;cProperties)">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_bAhyggKxEeiAPf1wPUl3Gw"/>
|
||||
<details key="label" value="prop"/>
|
||||
</annotations>
|
||||
</actions>
|
||||
</events>
|
||||
</machine:Machine>
|
||||
278
Event-B/pseim/team/pattern_safety.buc.xmb
Normal file
278
Event-B/pseim/team/pattern_safety.buc.xmb
Normal file
@@ -0,0 +1,278 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<context:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:context="http://emf.eventb.org/models/core/context/2014" name="pattern_safety">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="configuration" value="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase;org.eventb.codegen.ui.cgConfig"/>
|
||||
<details key="name" value="pattern_safety"/>
|
||||
</annotations>
|
||||
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
|
||||
<details key="extends cLink" value="_-yB9QAAPEeis7pYemx4WBQ"/>
|
||||
</annotations>
|
||||
<attributes key="org.eventb.texttools.text_lastmodified">
|
||||
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000016128212865"/>
|
||||
</attributes>
|
||||
<attributes key="org.eventb.texttools.text_representation">
|
||||
<value type="String" value="ACED0005740913636F6E74657874207061747465726E5F73616665747920657874656E647320634C696E6B0A0A636F6E7374616E7473207265706C696361746F722062616C6C6F745F626F78207361666574795F6D6F64656C207361666574795F636F6D70207361666574795F636F6E7461696E657220746F795F6D6F64656C20746F795F636F6E7461696E657220746F795F61707020746F795F696E705F3120746F795F696E705F3220746F795F6F757470757420636F6D706F6E656E74735F76617220636F6E7461696E65725F76617220665F636F6E7461696E65725F76617220696E73745F636F6D706F6E656E74735F70617220635F6D756C745F6F74686572735F70617220635F6D756C7469706C69636974795F76617220746F5F756E666F6C645F635F7661720A0A6178696F6D730A2020407265706C696361746F725F7479207265706C696361746F7220E2888820436F6D706F6E656E74202F2F20736166657479207061747465726E0A20204062616C6C6F745F626F785F74792062616C6C6F745F626F7820E2888820436F6D706F6E656E740A2020407361666574795F636F6D70207361666574795F636F6D7020E2888820436F6D706F6E656E740A202040616C6C5F646966665F636F6D706F6E656E74207265706C696361746F7220E289A02062616C6C6F745F626F7820E288A7207265706C696361746F7220E289A0207361666574795F636F6D7020E288A72062616C6C6F745F626F7820E289A0207361666574795F636F6D700A2020407361666574795F636F6E7461696E6572207361666574795F636F6E7461696E6572203D207B7265706C696361746F7220E286A6207361666574795F636F6D702C2062616C6C6F745F626F7820E286A6207361666574795F636F6D707D0A202040746F795F636F6E7461696E65725F747920746F795F636F6E7461696E657220E2888820436F6D706F6E656E7420E287B820436F6D706F6E656E740A202040746F795F636F6E7461696E65725F64656620746F795F636F6E7461696E6572203D20E288850A2020407361666574795F6D6F64656C207361666574795F6D6F64656C20E28888204D6F64656C0A202040746F795F6D6F64656C5F747920746F795F6D6F64656C20E28888204D6F64656C0A2020407361666574795F646966665F746F79207361666574795F6D6F64656C20E289A020746F795F6D6F64656C0A2020404D6F64656C5F646566204D6F64656C203D207B7361666574795F6D6F64656C2C746F795F6D6F64656C7D0A202040746F795F6170705F747920746F795F61707020E2888820436F6D706F6E656E74202F2F20746F79206170706C69636174696F6E0A202040746F795F696E705F315F747920746F795F696E705F3120E288882049506F72740A202040746F795F696E705F325F747920746F795F696E705F3220E288882049506F72740A202040746F795F6F75747075745F747920746F795F6F757470757420E28888204F506F72740A202040636F6D706F6E656E74735F7661725F64656620636F6D706F6E656E74735F766172203D207B7361666574795F6D6F64656C20E286A6207B7265706C696361746F722C62616C6C6F745F626F782C7361666574795F636F6D707D2C0A20202020202020202020202020202020202020202020202020202020202020202020202020202020746F795F6D6F64656C20E286A62020207B746F795F6170707D0A2020202020202020202020202020202020202020202020202020202020202020202020202020207D0A202040636F6E7461696E65725F7661725F64656620636F6E7461696E65725F766172203D207B7361666574795F6D6F64656C20E286A6207361666574795F636F6E7461696E65722C20746F795F6D6F64656C20E286A620746F795F636F6E7461696E65727D0A202040665F636F6E7461696E65725F76617220665F636F6E7461696E65725F766172203D207B7265706C696361746F7220E286A6207361666574795F636F6D702C2062616C6C6F745F626F7820E286A6207361666574795F636F6D707D0A20207468656F72656D2040665F616379636C20E288806DC2B720636F6E7461696E65725F766172286D2920E28A8620665F636F6E7461696E65725F7661720A20202020202020202020202020202020202020E288A720665F636F6E7461696E65725F7661723B665F636F6E7461696E65725F76617220E28A8620665F636F6E7461696E65725F7661720A20202020202020202020202020202020202020E288A720696420E288A920665F636F6E7461696E65725F766172203D20E288850A202040696E73745F636F6D706F6E656E74735F64656620696E73745F636F6D706F6E656E74735F706172203D207B7361666574795F636F6D7020E286A620746F795F6170707D0A202040635F6D756C745F6F74686572735F64656620635F6D756C745F6F74686572735F706172203D207B7265706C696361746F7220E286A620332C2062616C6C6F745F626F7820E286A620317D202F2F207061747465726E20696E7374616E74696174696F6E0A202040635F6D756C69706C69636974795F7661725F64656620635F6D756C7469706C69636974795F766172203D207B7361666574795F6D6F64656C20E286A6207B7361666574795F636F6D7020E286A620312C207265706C696361746F7220E286A620332C2062616C6C6F745F626F7820E286A620317D7D0A20207468656F72656D2040635F6D756C7469706C69636974795F61737369676E0A200909635F6D756C7469706C69636974795F766172287361666574795F6D6F64656C29203D20635F6D756C745F6F74686572735F7061720A20090909EE8483207B7063C2B720706320E2888820646F6D28696E73745F636F6D706F6E656E74735F7061722920E288A320706320E286A6206361726428696E73745F636F6D706F6E656E74735F7061725B7B70637D5D297D0A202040746F5F756E666F6C645F635F7661725F64656620746F5F756E666F6C645F635F766172203D207B7361666574795F636F6D707D0A20207468656F72656D2040746F5F756E666F6C645F635F7661720A20200909746F5F756E666F6C645F635F766172203D2028636F6D706F6E656E74735F766172287361666574795F6D6F64656C2920E2889620646F6D28636F6E7461696E65725F766172287361666574795F6D6F64656C2929290A656E640A0A"/>
|
||||
</attributes>
|
||||
<extends href="../cLink.buc#http://emf.eventb.org/models/core/context/2014::Context::cLink"/>
|
||||
<constants name="replicator">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_-yB9QQAPEeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="replicator"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="ballot_box">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_-yCkUAAPEeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="ballot_box"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="safety_model">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_-yCkUQAPEeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="safety_model"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="safety_comp">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_H1oEsAAQEeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="safety_comp"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="safety_container">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_oim4QAAQEeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="safety_container"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="toy_model">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_oim4QQAQEeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="toy_model"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="toy_container">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_oim4QgAQEeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="toy_container"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="toy_app">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_oim4QwAQEeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="toy_app"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="toy_inp_1">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_9c9V0AAREeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="toy_inp_1"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="toy_inp_2">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_9c9V0QAREeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="toy_inp_2"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="toy_output">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_9lz6YAASEeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="toy_output"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="components_var">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_9lz6YQASEeis7pYemx4WBQ"/>
|
||||
<details key="identifier" value="components_var"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="container_var">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kRNbAAEBEei-meqqkXX9bA"/>
|
||||
<details key="identifier" value="container_var"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="f_container_var">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kRNbAQEBEei-meqqkXX9bA"/>
|
||||
<details key="identifier" value="f_container_var"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="inst_components_par">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kRNbAgEBEei-meqqkXX9bA"/>
|
||||
<details key="identifier" value="inst_components_par"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="c_mult_others_par">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kRNbAwEBEei-meqqkXX9bA"/>
|
||||
<details key="identifier" value="c_mult_others_par"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="c_multiplicity_var">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROCEAEBEei-meqqkXX9bA"/>
|
||||
<details key="identifier" value="c_multiplicity_var"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<constants name="to_unfold_c_var">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROCEQEBEei-meqqkXX9bA"/>
|
||||
<details key="identifier" value="to_unfold_c_var"/>
|
||||
</annotations>
|
||||
</constants>
|
||||
<axioms comment="safety pattern" name="replicator_ty" predicate="replicator ∈ Component">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_-yCkUgAPEeis7pYemx4WBQ"/>
|
||||
<details key="label" value="replicator_ty"/>
|
||||
<details key="comment" value="safety pattern"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="ballot_box_ty" predicate="ballot_box ∈ Component">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_-yCkUwAPEeis7pYemx4WBQ"/>
|
||||
<details key="label" value="ballot_box_ty"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="safety_comp" predicate="safety_comp ∈ Component">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_-yCkVAAPEeis7pYemx4WBQ"/>
|
||||
<details key="label" value="safety_comp"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="all_diff_component" predicate="replicator ≠ ballot_box ∧ replicator ≠ safety_comp ∧ ballot_box ≠ safety_comp">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_-yCkVQAPEeis7pYemx4WBQ"/>
|
||||
<details key="label" value="all_diff_component"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="safety_container" predicate="safety_container = {replicator ↦ safety_comp, ballot_box ↦ safety_comp}">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_oim4RAAQEeis7pYemx4WBQ"/>
|
||||
<details key="label" value="safety_container"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="toy_container_ty" predicate="toy_container ∈ Component ⇸ Component">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_oim4RQAQEeis7pYemx4WBQ"/>
|
||||
<details key="label" value="toy_container_ty"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="toy_container_def" predicate="toy_container = ∅">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_oim4RgAQEeis7pYemx4WBQ"/>
|
||||
<details key="label" value="toy_container_def"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="safety_model" predicate="safety_model ∈ Model">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_oinfUAAQEeis7pYemx4WBQ"/>
|
||||
<details key="label" value="safety_model"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="toy_model_ty" predicate="toy_model ∈ Model">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_9c9V0gAREeis7pYemx4WBQ"/>
|
||||
<details key="label" value="toy_model_ty"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="safety_diff_toy" predicate="safety_model ≠ toy_model">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_9c9V0wAREeis7pYemx4WBQ"/>
|
||||
<details key="label" value="safety_diff_toy"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="Model_def" predicate="Model = {safety_model,toy_model}">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_9c9V1AAREeis7pYemx4WBQ"/>
|
||||
<details key="label" value="Model_def"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms comment="toy application" name="toy_app_ty" predicate="toy_app ∈ Component">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_9c984AAREeis7pYemx4WBQ"/>
|
||||
<details key="label" value="toy_app_ty"/>
|
||||
<details key="comment" value="toy application"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="toy_inp_1_ty" predicate="toy_inp_1 ∈ IPort">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_9lz6YgASEeis7pYemx4WBQ"/>
|
||||
<details key="label" value="toy_inp_1_ty"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="toy_inp_2_ty" predicate="toy_inp_2 ∈ IPort">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROCEgEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="toy_inp_2_ty"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="toy_output_ty" predicate="toy_output ∈ OPort">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROCEwEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="toy_output_ty"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="components_var_def" predicate="components_var = {safety_model ↦ {replicator,ballot_box,safety_comp},
 toy_model ↦ {toy_app}
 }">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROCFAEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="components_var_def"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="container_var_def" predicate="container_var = {safety_model ↦ safety_container, toy_model ↦ toy_container}">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROCFQEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="container_var_def"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="f_container_var" predicate="f_container_var = {replicator ↦ safety_comp, ballot_box ↦ safety_comp}">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROCFgEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="f_container_var"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="f_acycl" predicate="∀m· container_var(m) ⊆ f_container_var
 ∧ f_container_var;f_container_var ⊆ f_container_var
 ∧ id ∩ f_container_var = ∅" theorem="true">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROCFwEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="f_acycl"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="inst_components_def" predicate="inst_components_par = {safety_comp ↦ toy_app}">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROpIAEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="inst_components_def"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms comment="pattern instantiation" name="c_mult_others_def" predicate="c_mult_others_par = {replicator ↦ 3, ballot_box ↦ 1}">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROpIQEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="c_mult_others_def"/>
|
||||
<details key="comment" value="pattern instantiation"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="c_muliplicity_var_def" predicate="c_multiplicity_var = {safety_model ↦ {safety_comp ↦ 1, replicator ↦ 3, ballot_box ↦ 1}}">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROpIgEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="c_muliplicity_var_def"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="c_multiplicity_assign
" predicate="c_multiplicity_var(safety_model) = c_mult_others_par
 			 {pc· pc ∈ dom(inst_components_par) ∣ pc ↦ card(inst_components_par[{pc}])}" theorem="true">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROpIwEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="c_multiplicity_assign
"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="to_unfold_c_var_def" predicate="to_unfold_c_var = {safety_comp}">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROpJAEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="to_unfold_c_var_def"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
<axioms name="to_unfold_c_var
" predicate="to_unfold_c_var = (components_var(safety_model) ∖ dom(container_var(safety_model)))" theorem="true">
|
||||
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
|
||||
<details key="name" value="_kROpJQEBEei-meqqkXX9bA"/>
|
||||
<details key="label" value="to_unfold_c_var
"/>
|
||||
</annotations>
|
||||
</axioms>
|
||||
</context:Context>
|
||||
Reference in New Issue
Block a user