Last change
on this file since 1635 was
1635,
checked in by tranquil, 9 years ago

 lists with binders and monads
 Joint.ma and other temprarily forked, awaiting feedback from Claudio
 translation of RTLabs → RTL refactored with new tools

File size:
734 bytes

Line  

1  include "basics/relations.ma". 

2  

3  definition proper ≝ λA,B.λrelA : relation A.λrelB : relation B. 

4  λf,g : A → B. 

5  ∀a,a' : A.relA a a' → relB (f a) (g a'). 

6  

7  definition proper_contra ≝ λA,B.λrelA : relation A.λrelB : relation B. 

8  λf,g : A → B. 

9  ∀a,a' : A.relA a' a → relB (f a) (g a'). 

10  

11  

12  interpretation "proper" 'proper r s = (proper ? ? r s). 

13  interpretation "proper contravariant" 'proper_contra r s = (proper_contra ? ? r s). 

14  

15  notation "r ++> s" right associative with precedence 51 for 

16  @{'proper $r $s}. 

17  

18  notation "r +> s" right associative with precedence 51 for 

19  @{'proper_contra $r $s}. 

20  

21  interpretation "is proper" 'is_proper f p = (p f f). 

22  notation "f ⊨ p" with precedence 50 for @{'is_proper $f $p}. 

Note: See
TracBrowser
for help on using the repository browser.