Line | |
---|

1 | include "basics/types.ma". |
---|

2 | |
---|

3 | include "ASM/BitVectorTrie.ma". |
---|

4 | include "common/Identifiers.ma". |
---|

5 | |
---|

6 | axiom LabelTag : String. |
---|

7 | |
---|

8 | definition label ≝ identifier LabelTag. |
---|

9 | |
---|

10 | definition label_eq : ∀x,y:label. (x=y) + (x≠y) ≝ identifier_eq ?. |
---|

11 | |
---|

12 | definition graph : Type[0] → Type[0] ≝ identifier_map LabelTag. |
---|

13 | |
---|

14 | axiom graph_add: |
---|

15 | ∀A: Type[0]. |
---|

16 | ∀g: graph A. |
---|

17 | ∀l: label. |
---|

18 | ∀s: A. |
---|

19 | lookup ? ? (add ? ? g l s) l ≠ None ?. |
---|

20 | |
---|

21 | axiom graph_add_lookup: |
---|

22 | ∀A: Type[0]. |
---|

23 | ∀g: graph A. |
---|

24 | ∀l: label. |
---|

25 | ∀s: A. |
---|

26 | ∀to_insert: label. |
---|

27 | lookup ? ? g l ≠ None ? → lookup ? ? (add ? ? g to_insert s) l ≠ None ?. |
---|

28 | |
---|

29 | axiom graph_num_nodes: |
---|

30 | ∀A: Type[0]. |
---|

31 | ∀g: graph A. |
---|

32 | nat. |
---|

**Note:** See

TracBrowser
for help on using the repository browser.