MapInjection.xml 6.27 KB
Newer Older
1
<theory name="map.MapInjection" realize="true"><realized><require name="why3.BuiltIn.BuiltIn"/><require name="int.Int"/><require name="map.Map"/><require name="map.Occ"/></realized><definition altname="injective" path="map.MapInjection"><app><const name="HOL.eq"/><app><var name="injective"><pred><fun><type name="Int.int"/><type name="Int.int"/></fun><type name="Int.int"/></pred></var><var name="a"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="n"><type name="Int.int"/></var></app><app><const name="HOL.All"/><abs name="i"><type name="Int.int"/><app><const name="HOL.All"/><abs name="j"><type name="Int.int"/><app><const name="HOL.implies"/><app><const name="HOL.conj"/><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="i"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="i"><type name="Int.int"/></var><var name="n"><type name="Int.int"/></var></app></app><app><const name="HOL.implies"/><app><const name="HOL.conj"/><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="j"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="j"><type name="Int.int"/></var><var name="n"><type name="Int.int"/></var></app></app><app><const name="HOL.implies"/><app><const name="HOL.Not"/><app><const name="HOL.eq"/><var name="i"><type name="Int.int"/></var><var name="j"><type name="Int.int"/></var></app></app><app><const name="HOL.Not"/><app><const name="HOL.eq"/><app><var name="a"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="i"><type name="Int.int"/></var></app><app><var name="a"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="j"><type name="Int.int"/></var></app></app></app></app></app></app></abs></app></abs></app></app></definition><definition altname="surjective" path="map.MapInjection"><app><const name="HOL.eq"/><app><var name="surjective"><pred><fun><type name="Int.int"/><type name="Int.int"/></fun><type name="Int.int"/></pred></var><var name="a"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="n"><type name="Int.int"/></var></app><app><const name="HOL.All"/><abs name="i"><type name="Int.int"/><app><const name="HOL.implies"/><app><const name="HOL.conj"/><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="i"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="i"><type name="Int.int"/></var><var name="n"><type name="Int.int"/></var></app></app><app><const name="HOL.Ex"/><abs name="j"><type name="Int.int"/><app><const name="HOL.conj"/><app><const name="HOL.conj"/><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="j"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="j"><type name="Int.int"/></var><var name="n"><type name="Int.int"/></var></app></app><app><const name="HOL.eq"/><app><var name="a"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="j"><type name="Int.int"/></var></app><var name="i"><type name="Int.int"/></var></app></app></abs></app></app></abs></app></app></definition><definition altname="range" path="map.MapInjection"><app><const name="HOL.eq"/><app><var name="range"><pred><fun><type name="Int.int"/><type name="Int.int"/></fun><type name="Int.int"/></pred></var><var name="a"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="n"><type name="Int.int"/></var></app><app><const name="HOL.All"/><abs name="i"><type name="Int.int"/><app><const name="HOL.implies"/><app><const name="HOL.conj"/><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="i"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="i"><type name="Int.int"/></var><var name="n"><type name="Int.int"/></var></app></app><app><const name="HOL.conj"/><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><app><var name="a"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="i"><type name="Int.int"/></var></app></app><app><const name="Orderings.ord_class.less"/><app><var name="a"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="i"><type name="Int.int"/></var></app><var name="n"><type name="Int.int"/></var></app></app></app></abs></app></app></definition><lemma name="injective_surjective" altname="injective_surjective" path="map.MapInjection"><prems><app><const name="injective" local="true"><pred><fun><type name="Int.int"/><type name="Int.int"/></fun><type name="Int.int"/></pred></const><var name="a"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="n"><type name="Int.int"/></var></app><app><const name="range" local="true"><pred><fun><type name="Int.int"/><type name="Int.int"/></fun><type name="Int.int"/></pred></const><var name="a"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="n"><type name="Int.int"/></var></app></prems><concls><app><const name="surjective" local="true"><pred><fun><type name="Int.int"/><type name="Int.int"/></fun><type name="Int.int"/></pred></const><var name="a"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="n"><type name="Int.int"/></var></app></concls></lemma><lemma name="injection_occ" altname="injection_occ" path="map.MapInjection"><prems/><concls><app><const name="HOL.eq"/><app><const name="injective" local="true"><pred><fun><type name="Int.int"/><type name="Int.int"/></fun><type name="Int.int"/></pred></const><var name="m"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><var name="n"><type name="Int.int"/></var></app><app><const name="HOL.All"/><abs name="v"><type name="Int.int"/><app><const name="Orderings.ord_class.less_eq"/><app><const name="occ" path="map.Occ"><fun><type name="Int.int"/><fun><type name="Int.int"/><type name="Int.int"/></fun><type name="Int.int"/><type name="Int.int"/><type name="Int.int"/></fun></const><var name="v"><type name="Int.int"/></var><var name="m"><fun><type name="Int.int"/><type name="Int.int"/></fun></var><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app><num val="1"><type name="Int.int"/></num></app></abs></app></app></concls></lemma></theory>