Difference between pages "Maplet Overriding in Goal" and "Help:Assigning permissions"

From Event-B
(Difference between pages)
Jump to navigationJump to search
imported>Billaude
 
(yiInRYSih)
 
Line 1: Line 1:
This page describes the design of a tactic requested here : [https://sourceforge.net/tracker/index.php?func=detail&aid=3306228&group_id=108850&atid=651672 Feature Request #3306228]
+
comment2, http://xpahcgoo.p2web.biz/horse6286.html horse,  suprgp, http://xpahcgoo.110mb.com/horse982.html horse,  =-), http://xpahcgoo.sitebooth.com/for2183.html for,  bqjd, http://xpahcgoo.p2web.biz/free6118.html free,  520248, http://xpahcgoo.seitenclique.net/horse8953.html horse,  >:-[[, http://xpahcgoo.p2web.biz/free2529.html free,  vpjx, http://xpahcgoo.freehostingz.com/free5189.html free, fmzuc, http://xpahcgoo.freewhost.com/free54.html free, 91047, http://xpahcgoo.hostmo.com/free1678.html free,  11004, http://xpahcgoo.seitenclique.net/free4294.html free,  %-D,
 
 
= Objective =
 
 
 
Split every goal in the form : <math> f \ovl{\{x \mapsto y\}} \in A \to B </math> into three sub-goals :
 
:*<math>\{x\} \domsub f \in A \smallsetminus \{x\} \to B</math>
 
:*<math>x \in A</math>
 
:*<math>y \in B</math>
 
 
 
= Design Decision =
 
 
 
Instead of proofing the first sub-goal, it may be more easy to proof <math>f\in A\to B</math> which is a sufficient condition : <math>(f\in A\to B)\limp (\{x\} \domsub f \in A \smallsetminus \{x\} \to B)</math>.
 
 
 
= Implementation =
 
 
 
First, the goal is checked. Its tree structure must match the following one :
 
<math>\in</math>
 
  ├── <math>\ovl</math>
 
│   ├── f
 
│   └── {}
 
│       └──  <math>\mapsto</math>
 
│            ├── x
 
│            └── y
 
└── <math>\to</math>
 
    ├── A
 
    └── B
 
Then, if the hypothesis <math>f\in A\to B</math> is present, the goal is split as follows :
 
:*<math>f\in A\to B</math>
 
:*<math>x \in A</math>
 
:*<math>y \in B</math>
 
Else, it is split as follows :
 
:*<math>\{x\} \domsub f \in A \smallsetminus \{x\} \to B</math>
 
:*<math>x \in A</math>
 
:*<math>y \in B</math>
 
 
 
[[Category:Design proposal]]
 

Revision as of 07:57, 10 August 2008