| Offset 1, 9 lines modified | Offset 1, 9 lines modified | ||
| 1 | ·94847dc2022fa39ceef1cbffc9b4e2bf·9321844·debug·optional·coq-dbgsym_8.20.1+dfsg-1_amd64.deb | 1 | ·94847dc2022fa39ceef1cbffc9b4e2bf·9321844·debug·optional·coq-dbgsym_8.20.1+dfsg-1_amd64.deb | 
| 2 | ·3fbdee4beea2d778c1738950a501ab56·70218908·math·optional·coq_8.20.1+dfsg-1_amd64.deb | 2 | ·3fbdee4beea2d778c1738950a501ab56·70218908·math·optional·coq_8.20.1+dfsg-1_amd64.deb | 
| 3 | ·53af5a6613f8b9c72dd4e4709e49fcf3·640200·debug·optional·coqide-dbgsym_8.20.1+dfsg-1_amd64.deb | 3 | ·53af5a6613f8b9c72dd4e4709e49fcf3·640200·debug·optional·coqide-dbgsym_8.20.1+dfsg-1_amd64.deb | 
| 4 | ·d28809524e70f4bfd54675f8205f0df7·1924832·math·optional·coqide_8.20.1+dfsg-1_amd64.deb | 4 | ·d28809524e70f4bfd54675f8205f0df7·1924832·math·optional·coqide_8.20.1+dfsg-1_amd64.deb | 
| 5 | ·c06b73a3f8156c242a44d6e1edbb1d0b·2514476·debug·optional·libcoq-core-ocaml-dbgsym_8.20.1+dfsg-1_amd64.deb | 5 | ·c06b73a3f8156c242a44d6e1edbb1d0b·2514476·debug·optional·libcoq-core-ocaml-dbgsym_8.20.1+dfsg-1_amd64.deb | 
| 6 | · | 6 | ·ff599044f33f197647f2acbd721adc8d·68697424·ocaml·optional·libcoq-core-ocaml-dev_8.20.1+dfsg-1_amd64.deb | 
| 7 | ·ef098007f0e73026daea0fa85fd0fa90·25949040·ocaml·optional·libcoq-core-ocaml_8.20.1+dfsg-1_amd64.deb | 7 | ·ef098007f0e73026daea0fa85fd0fa90·25949040·ocaml·optional·libcoq-core-ocaml_8.20.1+dfsg-1_amd64.deb | 
| 8 | · | 8 | ·41238575ac257ebeb876eee8f88372d4·23530652·math·optional·libcoq-stdlib_8.20.1+dfsg-1_amd64.deb | 
| Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
| 1 | -rw-r--r--···0········0········0········4·2025-02-15·14:19:14.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2025-02-15·14:19:14.000000·debian-binary | 
| 2 | -rw-r--r--···0········0········0····701 | 2 | -rw-r--r--···0········0········0····70152·2025-02-15·14:19:14.000000·control.tar.xz | 
| 3 | -rw-r--r--···0········0········0·686270 | 3 | -rw-r--r--···0········0········0·68627080·2025-02-15·14:19:14.000000·data.tar.xz | 
| Offset 159, 35 lines modified | Offset 159, 35 lines modified | ||
| 159 | -rw-r--r--···0·root·········(0)·root·········(0)····20188·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cThread.cmt | 159 | -rw-r--r--···0·root·········(0)·root·········(0)····20188·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cThread.cmt | 
| 160 | -rw-r--r--···0·root·········(0)·root·········(0)·····4979·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cThread.cmti | 160 | -rw-r--r--···0·root·········(0)·root·········(0)·····4979·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cThread.cmti | 
| 161 | -rw-r--r--···0·root·········(0)·root·········(0)·····1607·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cThread.cmx | 161 | -rw-r--r--···0·root·········(0)·root·········(0)·····1607·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cThread.cmx | 
| 162 | -rw-r--r--···0·root·········(0)·root·········(0)·····3816·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cThread.ml | 162 | -rw-r--r--···0·root·········(0)·root·········(0)·····3816·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cThread.ml | 
| 163 | -rw-r--r--···0·root·········(0)·root·········(0)·····1786·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cThread.mli | 163 | -rw-r--r--···0·root·········(0)·root·········(0)·····1786·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cThread.mli | 
| 164 | -rw-r--r--···0·root·········(0)·root·········(0)·····1176·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cUnix.cmi | 164 | -rw-r--r--···0·root·········(0)·root·········(0)·····1176·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cUnix.cmi | 
| 165 | -rw-r--r--···0·root·········(0)·root·········(0)····26839·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cUnix.cmt | 165 | -rw-r--r--···0·root·········(0)·root·········(0)····26839·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cUnix.cmt | 
| 166 | -rw-r--r--···0·root·········(0)·root·········(0)·····688 | 166 | -rw-r--r--···0·root·········(0)·root·········(0)·····6881·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cUnix.cmti | 
| 167 | -rw-r--r--···0·root·········(0)·root·········(0)·····2715·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cUnix.cmx | 167 | -rw-r--r--···0·root·········(0)·root·········(0)·····2715·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cUnix.cmx | 
| 168 | -rw-r--r--···0·root·········(0)·root·········(0)·····5769·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cUnix.ml | 168 | -rw-r--r--···0·root·········(0)·root·········(0)·····5769·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cUnix.ml | 
| 169 | -rw-r--r--···0·root·········(0)·root·········(0)·····2800·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cUnix.mli | 169 | -rw-r--r--···0·root·········(0)·root·········(0)·····2800·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/cUnix.mli | 
| 170 | -rw-r--r--···0·root·········(0)·root·········(0)··1167900·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/clib.a | 170 | -rw-r--r--···0·root·········(0)·root·········(0)··1167900·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/clib.a | 
| 171 | -rw-r--r--···0·root·········(0)·root·········(0)····17888·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/clib.cmxa | 171 | -rw-r--r--···0·root·········(0)·root·········(0)····17888·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/clib.cmxa | 
| 172 | -rw-r--r--···0·root·········(0)·root·········(0)·····1473·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/diff2.cmi | 172 | -rw-r--r--···0·root·········(0)·root·········(0)·····1473·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/diff2.cmi | 
| 173 | -rw-r--r--···0·root·········(0)·root·········(0)····26586·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/diff2.cmt | 173 | -rw-r--r--···0·root·········(0)·root·········(0)····26586·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/diff2.cmt | 
| 174 | -rw-r--r--···0·root·········(0)·root·········(0)·····8 | 174 | -rw-r--r--···0·root·········(0)·root·········(0)·····8296·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/diff2.cmti | 
| 175 | -rw-r--r--···0·root·········(0)·root·········(0)······514·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/diff2.cmx | 175 | -rw-r--r--···0·root·········(0)·root·········(0)······514·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/diff2.cmx | 
| 176 | -rw-r--r--···0·root·········(0)·root·········(0)·····4667·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/diff2.ml | 176 | -rw-r--r--···0·root·········(0)·root·········(0)·····4667·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/diff2.ml | 
| 177 | -rw-r--r--···0·root·········(0)·root·········(0)·····3057·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/diff2.mli | 177 | -rw-r--r--···0·root·········(0)·root·········(0)·····3057·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/diff2.mli | 
| 178 | -rw-r--r--···0·root·········(0)·root·········(0)·····2761·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.cmi | 178 | -rw-r--r--···0·root·········(0)·root·········(0)·····2761·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.cmi | 
| 179 | -rw-r--r--···0·root·········(0)·root·········(0)····35757·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.cmt | 179 | -rw-r--r--···0·root·········(0)·root·········(0)····35757·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.cmt | 
| 180 | -rw-r--r--···0·root·········(0)·root·········(0)····14172·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.cmti | 180 | -rw-r--r--···0·root·········(0)·root·········(0)····14172·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.cmti | 
| 181 | -rw-r--r--···0·root·········(0)·root·········(0)·····3322·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.cmx | 181 | -rw-r--r--···0·root·········(0)·root·········(0)·····3322·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.cmx | 
| 182 | -rw-r--r--···0·root·········(0)·root·········(0)·····5376·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.ml | 182 | -rw-r--r--···0·root·········(0)·root·········(0)·····5376·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.ml | 
| 183 | -rw-r--r--···0·root·········(0)·root·········(0)·····3218·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.mli | 183 | -rw-r--r--···0·root·········(0)·root·········(0)·····3218·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/dyn.mli | 
| 184 | -rw-r--r--···0·root·········(0)·root·········(0)······866·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/exninfo.cmi | 184 | -rw-r--r--···0·root·········(0)·root·········(0)······866·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/exninfo.cmi | 
| 185 | -rw-r--r--···0·root·········(0)·root·········(0)····16147·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/exninfo.cmt | 185 | -rw-r--r--···0·root·········(0)·root·········(0)····16147·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/exninfo.cmt | 
| 186 | -rw-r--r--···0·root·········(0)·root·········(0)·····59 | 186 | -rw-r--r--···0·root·········(0)·root·········(0)·····5909·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/exninfo.cmti | 
| 187 | -rw-r--r--···0·root·········(0)·root·········(0)·····2462·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/exninfo.cmx | 187 | -rw-r--r--···0·root·········(0)·root·········(0)·····2462·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/exninfo.cmx | 
| 188 | -rw-r--r--···0·root·········(0)·root·········(0)·····3860·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/exninfo.ml | 188 | -rw-r--r--···0·root·········(0)·root·········(0)·····3860·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/exninfo.ml | 
| 189 | -rw-r--r--···0·root·········(0)·root·········(0)·····2665·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/exninfo.mli | 189 | -rw-r--r--···0·root·········(0)·root·········(0)·····2665·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/exninfo.mli | 
| 190 | -rw-r--r--···0·root·········(0)·root·········(0)·····3711·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/hMap.cmi | 190 | -rw-r--r--···0·root·········(0)·root·········(0)·····3711·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/hMap.cmi | 
| 191 | -rw-r--r--···0·root·········(0)·root·········(0)····88299·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/hMap.cmt | 191 | -rw-r--r--···0·root·········(0)·root·········(0)····88299·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/hMap.cmt | 
| 192 | -rw-r--r--···0·root·········(0)·root·········(0)····10407·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/hMap.cmti | 192 | -rw-r--r--···0·root·········(0)·root·········(0)····10407·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/hMap.cmti | 
| 193 | -rw-r--r--···0·root·········(0)·root·········(0)·····6877·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/hMap.cmx | 193 | -rw-r--r--···0·root·········(0)·root·········(0)·····6877·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/hMap.cmx | 
| Offset 305, 27 lines modified | Offset 305, 27 lines modified | ||
| 305 | -rw-r--r--···0·root·········(0)·root·········(0)····19478·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmt | 305 | -rw-r--r--···0·root·········(0)·root·········(0)····19478·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmt | 
| 306 | -rw-r--r--···0·root·········(0)·root·········(0)·····7197·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmti | 306 | -rw-r--r--···0·root·········(0)·root·········(0)·····7197·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmti | 
| 307 | -rw-r--r--···0·root·········(0)·root·········(0)······907·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmx | 307 | -rw-r--r--···0·root·········(0)·root·········(0)······907·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmx | 
| 308 | -rw-r--r--···0·root·········(0)·root·········(0)·····2531·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.ml | 308 | -rw-r--r--···0·root·········(0)·root·········(0)·····2531·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.ml | 
| 309 | -rw-r--r--···0·root·········(0)·root·········(0)·····2058·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.mli | 309 | -rw-r--r--···0·root·········(0)·root·········(0)·····2058·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.mli | 
| 310 | -rw-r--r--···0·root·········(0)·root·········(0)······905·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmi | 310 | -rw-r--r--···0·root·········(0)·root·········(0)······905·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmi | 
| 311 | -rw-r--r--···0·root·········(0)·root·········(0)····77210·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmt | 311 | -rw-r--r--···0·root·········(0)·root·········(0)····77210·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmt | 
| 312 | -rw-r--r--···0·root·········(0)·root·········(0)·····60 | 312 | -rw-r--r--···0·root·········(0)·root·········(0)·····6020·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmti | 
| 313 | -rw-r--r--···0·root·········(0)·root·········(0)·····2191·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmx | 313 | -rw-r--r--···0·root·········(0)·root·········(0)·····2191·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmx | 
| 314 | -rw-r--r--···0·root·········(0)·root·········(0)····15342·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.ml | 314 | -rw-r--r--···0·root·········(0)·root·········(0)····15342·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.ml | 
| 315 | -rw-r--r--···0·root·········(0)·root·········(0)·····2647·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.mli | 315 | -rw-r--r--···0·root·········(0)·root·········(0)·····2647·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.mli | 
| 316 | -rw-r--r--···0·root·········(0)·root·········(0)·····1086·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicodetable.cmi | 316 | -rw-r--r--···0·root·········(0)·root·········(0)·····1086·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicodetable.cmi | 
| 317 | -rw-r--r--···0·root·········(0)·root·········(0)····62034·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicodetable.cmt | 317 | -rw-r--r--···0·root·········(0)·root·········(0)····62034·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicodetable.cmt | 
| 318 | -rw-r--r--···0·root·········(0)·root·········(0)·····6 | 318 | -rw-r--r--···0·root·········(0)·root·········(0)·····6612·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicodetable.cmti | 
| 319 | -rw-r--r--···0·root·········(0)·root·········(0)······402·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicodetable.cmx | 319 | -rw-r--r--···0·root·········(0)·root·········(0)······402·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicodetable.cmx | 
| 320 | -rw-r--r--···0·root·········(0)·root·········(0)···335393·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicodetable.ml | 320 | -rw-r--r--···0·root·········(0)·root·········(0)···335393·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicodetable.ml | 
| 321 | -rw-r--r--···0·root·········(0)·root·········(0)······849·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicodetable.mli | 321 | -rw-r--r--···0·root·········(0)·root·········(0)······849·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicodetable.mli | 
| 322 | -rw-r--r--···0·root·········(0)·root·········(0)·····1742·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unionfind.cmi | 322 | -rw-r--r--···0·root·········(0)·root·········(0)·····1742·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unionfind.cmi | 
| 323 | -rw-r--r--···0·root·········(0)·root·········(0)····17956·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unionfind.cmt | 323 | -rw-r--r--···0·root·········(0)·root·········(0)····17956·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unionfind.cmt | 
| 324 | -rw-r--r--···0·root·········(0)·root·········(0)·····9 | 324 | -rw-r--r--···0·root·········(0)·root·········(0)·····9099·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unionfind.cmti | 
| 325 | -rw-r--r--···0·root·········(0)·root·········(0)······927·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unionfind.cmx | 325 | -rw-r--r--···0·root·········(0)·root·········(0)······927·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unionfind.cmx | 
| 326 | -rw-r--r--···0·root·········(0)·root·········(0)·····3800·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unionfind.ml | 326 | -rw-r--r--···0·root·········(0)·root·········(0)·····3800·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unionfind.ml | 
| 327 | -rw-r--r--···0·root·········(0)·root·········(0)·····2613·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unionfind.mli | 327 | -rw-r--r--···0·root·········(0)·root·········(0)·····2613·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unionfind.mli | 
| 328 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/config/ | 328 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/config/ | 
| 329 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/config/byte/ | 329 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/config/byte/ | 
| 330 | -rw-r--r--···0·root·········(0)·root·········(0)······648·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/config/byte/coq_byte_config.cmi | 330 | -rw-r--r--···0·root·········(0)·root·········(0)······648·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/config/byte/coq_byte_config.cmi | 
| 331 | -rw-r--r--···0·root·········(0)·root·········(0)·····3624·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/config/byte/coq_byte_config.cmt | 331 | -rw-r--r--···0·root·········(0)·root·········(0)·····3624·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/config/byte/coq_byte_config.cmt | 
| Offset 68, 364 lines modified | Offset 68, 364 lines modified | ||
| 00000430:·c6c2·c613·151f·82a0·a026·5374·646c·6962··.........&Stdlib | 00000430:·c6c2·c613·151f·82a0·a026·5374·646c·6962··.........&Stdlib | ||
| 00000440:·9030·cfc6·abca·663b·2d71·db17·50a2·c051··.0....f;-q..P..Q | 00000440:·9030·cfc6·abca·663b·2d71·db17·50a2·c051··.0....f;-q..P..Q | ||
| 00000450:·cf6e·a0a0·3843·616d·6c69·6e74·6572·6e61··.n..8Camlinterna | 00000450:·cf6e·a0a0·3843·616d·6c69·6e74·6572·6e61··.n..8Camlinterna | ||
| 00000460:·6c46·6f72·6d61·7442·6173·6963·7390·30aa··lFormatBasics.0. | 00000460:·6c46·6f72·6d61·7442·6173·6963·7390·30aa··lFormatBasics.0. | ||
| 00000470:·550b·dab5·21d6·0e76·9a9a·d43a·677e·6540··U...!..v...:g~e@ | 00000470:·550b·dab5·21d6·0e76·9a9a·d43a·677e·6540··U...!..v...:g~e@ | ||
| 00000480:·8495·a6be·0000·0004·0000·0002·0000·0005··................ | 00000480:·8495·a6be·0000·0004·0000·0002·0000·0005··................ | ||
| 00000490:·0000·0005·a090·4040·4361·6d6c·3139·3939··......@@Caml1999 | 00000490:·0000·0005·a090·4040·4361·6d6c·3139·3939··......@@Caml1999 | ||
| 000004a0:·5430·3335·8495·a6bd·0fac· | 000004a0:·5430·3335·8495·a6bd·0fac·2ee8·238e·7ec1··T035........#.~. | ||
| 000004b0:· | 000004b0:·58bd·0528·b52f·fd00·582d·b100·7a25·cd3d··X..(./..X-..z%.= | ||
| 000004c0:·5920·8eba·da8c·01cb·ee4e·dd0d·93a2·7e0d··Y·.......N....~. | |||
| 000004d0:·9356·4942·feb2·d7d3·b705·80b7·6fb0·33a1··.VIB........o.3. | |||
| 000004e0:·2e5b·67d1·9717·4f79·ac6e·99a1·9f8a·8826··.[g...Oy.n.....& | |||
| 000004f0:·8fbe·ac57·9a7d·13af·d6f5·cf07·366c·169b··...W.}......6l.. | |||
| 00000 | 000004c0:·5920·903a·6ec6·6a99·75e6·87cf·95a6·0502··Y·.:n.j.u....... | ||
| 000004d0:·04cc·72da·5470·ef9c·385b·b51c·5748·08c1··..r.Tp..8[..WH.. | |||
| 000004e0:·f5e7·9369·8485·a1e0·a4d6·b812·f86f·b23d··...i.........o.= | |||
| 000004f0:·2864·60d1·a289·adcb·1dde·b7fc·fccb·e2ef··(d`............. | |||
| 00000500:·0fd0·e70b·b73e·7530·ea1f·f2a7·44c8·bc5d··.....>u0....D..] | |||
| 00000510:· | 00000510:·0798·47eb·3bdf·52c8·4a1b·d703·c003·aa03··..G.;.R.J....... | ||
| 00000520:·a715·3d38·304a·910c·1d75·a1a3·4d58·f576··..=80J...u..MX.v | |||
| 00000530:·de70·df3a·28f5·62d9·3b77·16d0·abb8·9ff7··.p.:(.b.;w...... | |||
| 00000540:·12a1·158a·bb94·7b54·1a55·cc80·5e0d·fafb··......{T.U..^... | |||
| 00000550:·e576·ef1b·f432·a03f·5940·4fc5·0b5a·6845··.v...2.?Y@O..ZhE | |||
| 00000560:·dd9b·863e·0d26·e86d·f45c·d043·4d81·02fa··...>.&.m.\.CM... | |||
| 00000570:·2eb7·7b81·582f·aad9·25ea·4245·5d12·541d··..{.X/..%.BE].T. | |||
| 00000580:·e53a·4ac4·aab7·5304·f49b·034a·bd58·f65a··.:J...S....J.X.Z | |||
| 00000590:·d82b·30cf·28b8·a0f7·427f·af14·f462·e84f··.+0.(...B....b.O | |||
| 000005a0:·0ed0·3bb1·05bd·9829·bc28·c1c5·66a3·bf42··..;....).(..f..B | |||
| 000005b0:·0f05·fdbd·3250·c3dc·50f4·5da2·f695·82fe··....2P..P.]..... | |||
| 000005c0:·8dd3·dc16·78a5·ba32·9858·626b·e181·3e05··....x..2.Xbk..>. | |||
| 000005d0:·24e0·6819·1c1d·4a82·7e13·0900·eccb·a2ce··$.h...J.~....... | |||
| 000005e0:·fd81·3e01·f467·08f5·5e1f·4cfa·f375·81f0··..>..g..^.L..u.. | |||
| 000005f0:·81fe·de7b·8d38·b59d·3ad1·9b5d·6e42·38d1··...{.8..:..]nB8. | |||
| 00000600:·8f50·a1ae·01e8·effd·81be·8cb9·7ba0·ef12··.P..........{... | |||
| 00000610:·65be·eebd·9756·a87b·ef35·f3e5·de7b·8f38··e....V.{.5...{.8 | |||
| 00000620:·355f·d7bc·974c·188e·7ee1·e812·56bd·9d35··5_...L..~...V..5 | |||
| 00000630:·fafd·baa1·5406·8665·4db6·e482·4a09·49a5··....T..eM...J.I. | |||
| 00000640:·72ec·d796·73f3·a8af·cb04·c893·1e85·7c3c··r...s.........|< | |||
| 00000650:·2185·224c·1701·7932·3101·46ac·f469·af06··!."L..y21.F..i.. | |||
| 00000660:·fb30·297e·1e10·0c36·2931·0f8b·3458·9e79··.0)~...6)1..4X.y | |||
| 00000670:·9829·2c49·1a88·490f·86c7·3086·6123·1418··.),I..I...0.a#.. | |||
| 00000680:·6c43·54c8·4c92·58c7·66e4·2887·1e0c·2b81··lCT.L.X.f.(...+. | |||
| 00000690:·5944·f2ca·5a11·8f6d·880d·4d59·8c91·9829··YD..Z..m..MY...) | |||
| 000006a0:·7b4a·e0a7·8b78·6c3f·506a·649e·e199·17cb··{J...xl?Pjd..... | |||
| 000006b0:·9ea6·3171·d978·a6c0·465a·8e79·3a0f·e9d8··..1q.x..FZ.y:... | |||
| 000006c0:·2cbd·b746·dd6a·d4fd·747b·2203·f5b7·c465··,..F.j..t{"....e | |||
| 000006d0:·eb11·458f·7846·4b22·3f0f·168a·1fd3·28e4··..E.xFK"?.....(. | |||
| 000006e0:·63bb·a157·a36e·f39e·51a5·1841·c1a6·a21f··c..W.n..Q..A.... | |||
| 000006f0:·0016·c398·17cb·1e6c·0c12·6283·4306·d5bc··.......l..b.C... | |||
| 00000700:·6754·a34c·e21c·bc1a·52c8·1416·f1b1·9d20··gT.L....R......· | |||
| 00000710:·a8da·d491·c45a·7f4b·9ef8·9158·87a2·3766··.....Z.K...X..7f | |||
| 00000720:·6f24·bfa6·19f6·b96d·eaeb·5e2a·6bd4·7d7d··o$.....m..^*k.}} | |||
| 00000730:·40e2·c5d3·6d9b·b74a·3553·3e52·a91c·5530··@...m..J5S>R..U0 | |||
| 00000740:·4913·c32f·e669·1297·e58b·c746·061a·5027··I../.i.....F..P' | |||
| 00000750:·088e·111d·8eb4·1c5b·1840·25d6·35a4·1f36··.......[.@%.5..6 | |||
| 00000760:·324d·92c6·90d4·2510·5b06·b8c0·a26e·3309··2M....%.[....n3. | |||
| 00000770:·cf72·518e·edcc·d622·86c7·3c94·1345·c998··.rQ...."..<..E.. | |||
| 00000780:·43bd·9481·d8a8·58a2·c710·3385·fa1b·756c··C.....X...3...ul | |||
| 00000790:·44dc·db44·7d7a·728f·a85b·4b35·bbdc·f611··D..D}zr..[K5.... | |||
| 000007a0:·759b·1806·1870·6c67·7612·b023·231c·db99··u....plgv..##... | |||
| 000007b0:·8dc4·eb16·25d1·6528·e6d8·9ea8·bcae·1322··....%.e(......." | |||
| 000007c0:·edd5·72f8·4420·3606·3059·e127·8821·01a8··..r.D·6.0Y.'.!.. | |||
| 000007d0:·a0c7·f087·2d01·f5e9·be5e·7a0c·7dd8·0e50··....-....^z.}..P | |||
| 000007e0:·9fee·2d6a·d9ae·14d1·5f16·633f·6c39·d4a7··..-j...._.c?l9.. | |||
| 000007f0:·7b9d·9059·8334·5297·6306·bd31·87e5·88b5··{..Y.4R.c..1.... | |||
| 00000800:·1366·c126·12d9·44f6·a5b2·c77d·5f41·95c8··.f.&..D....}_A.. | |||
| 00000810:·6d42·2434·e650·7fb4·31d4·6306·776c·e0eb··mB$4.P..1.c.wl.. | |||
| 00000820:·32a9·2116·c33e·6c5e·7dba·f7c8·e884·7dd8··2.!..>l^}.....}. | |||
| 00000830:·8c82·2a11·f293·8139·3624·f5e9·beee·ebde··..*....96$...... | |||
| 00000840:·2848·9846·ea1c·db99·4d54·9fcc·0f97·e217··(H.F....MT...... | |||
| 00000850:·fb61·3bb3·91b8·3748·cc19·29c7·76eb·d3bd··.a;...7H..).v... | |||
| 00000860:·d7a6·de7b·efbe·3cec·fbba·e6eb·2eb9·2934··...{..<.......)4 | |||
| 00000870:·6c9c·bbe6·6da7·6248·a572·20a9·7d24·f9fd··l...m.bH.r·.}$.. | |||
| 00000880:·b05d·2828·2e5c·9670·c289·2b42·bd77·a754··.]((.\.p..+B.w.T | |||
| 00000890:·48a5·72f0·a897·47bd·f7f2·a83c·eabd·58b0··H.r...G....<..X. | |||
| 000008a0:·ea2d·098e·26c1·d124·a138·e371·0a47·2860··.-..&..$.8.q.G(` | |||
| 000008b0:·0f52·2882·3cb7·d3ee·50e2·5087·62a8·6976··.R(.<...P.P.b.iv | |||
| 000008c0:·8675·592b·b22c·58b1·3f5c·7696·dbde·db7c··.uY+.,X.?\v....| | |||
| 000008d0:·01a0·c691·bad7·c363·1e3d·20b7·533b·61cd··.......c.=·.S;a. | |||
| 000008e0:·23ce·3e30·b7f6·79c4·b9cf·27a7·7084·02f4··#.>0..y...'.p... | |||
| 000008f0:·2305·944a·e508·3fef·4d42·2b94·06eb·a386··#..J..?.MB+..... | |||
| 00000900:·c6f0·ea89·aad4·1fd5·9f45·f521·9832·c403··.........E.!.2.. | |||
| 00000910:·cc2d·c4a4·7ea8·9250·6f82·ee6e·8821·54cd··.-..~..Po..n.!T. | |||
| 00000920:·207e·7052·51ad·a261·fd06·81d2·250f·8b48···~pRQ..a....%..H | |||
| 00000930:·1fec·c3a4·87c5·30d6·5342·7d1b·dd5b·d584··......0.SB}..[.. | |||
| 00000940:·8a44·48fd·1552·85d4·0ba9·bf37·4845·7ba8··.DH..R.....7HE{. | |||
| 00000950:·688c·556f·664e·cd9c·626c·adce·a32d·7186··h.UofN..bl...-q. | |||
| 00000960:·3519·1d61·318c·1959·acbf·11eb·0fb4·4731··5..a1..Y......G1 | |||
| 00000970:·5a69·b118·c6ac·9185·7550·6fe4·8650·1fb5··Zi......uPo..P.. | |||
| 00000980:·4617·468f·7a36·ba32·1ed4·ab6a·07f5·3ac0··F.F.z6.2...j..:. | |||
| 00000990:·d0a0·92e2·eb6b·fdd9·46f7·2fe2·9021·b9a0··.....k..F./..!.. | |||
| 000009a0:·fb1a·1d19·dd29·d0dd·8aee·2719·35aa·4c81··.....)....'.5.L. | |||
| 000009b0:·8244·458d·a868·12ab·de4e·33ba·6f16·a54e··.DE..h...N3.o..N | |||
| 000009c0:·612c·462b·3dac·f4cd·8498·e95e·45f7·3284··a,F+=......^E.2. | |||
| 000009d0:·b2e8·ce45·8cee·515e·bc20·d35d·8a2c·4030··...E..Q^.·.].,@0 | |||
| 000009e0:·a6fb·bee2·7ea0·7b17·ddcf·2aba·8fd9·028c··....~.{...*..... | |||
| 000009f0:·31fb·8e51·464b·14dd·bdf4·d01d·4977·ef03··1..QFK......Iw.. | |||
| 00000a00:·5070·a105·1829·4eb9·9c82·4a74·df3d·28d5··Pp...)N...Jt.=(. | |||
| 00000a10:·6528·7a59·7b32·fd2d·21a0·7b95·eea6·0fdd··e(zY{2.-!.{..... | |||
| 00000a20:·cf7b·6ba0·15ea·66e9·7e6f·96ee·59ba·df7b··.{k...f.~o..Y..{ | |||
| 00000a30:·00a2·53a2·5302·b0ea·ed2c·431b·b3b1·d0c6··..S.S....,C..... | |||
| 00000a40:·7ac8·1066·67b0·6408·b331·6b5d·4edd·7b28··z..fg.d..1k]N.{( | |||
| 00000a50:·40f7·282a·5dec·d0dd·c803·b5ee·a253·f726··@.(*]........S.& | |||
| 00000a60:·2ec8·b309·a5ee·3774·3fab·74ef·0056·62df··......7t?.t..Vb. | |||
| 00000a70:·0174·a712·a43b·edce·a3e3·c093·2284·70c0··.t...;......".p. | |||
| 00000a80:·0fa7·3d9c·7e49·ba6f·1e1a·c424·99c1·1d9d··..=.~I.o...$.... | |||
| 00000a90:·ee3b·bab3·d0b5·ba23·3fdd·ef4f·f7d3·fda7··.;.....#?..O.... | |||
| 00000aa0:·fbbd·3ba7·6b54·7ac4·aa37·2b95·5aa9·d488··..;.kTz..7+.Z... | |||
| 00000ab0:·478b·b412·93b3·4cc6·2ccc·e652·fc2c·26bf··G.....L.,..R.,&. | |||
| 00000ac0:·a431·847d·58b4·b5f1·c593·b515·31e9·42a2··.1.}X.......1.B. | |||
| 00000ad0:·95e5·48d2·3426·edd1·9235·b2d6·5a9b·11cb··..H.4&...5..Z... | |||
| 00000ae0:·b42d·2285·28c7·d6c8·ac41·4c86·30ab·474c··.-".(....AL.0.GL | |||
| 00000af0:·9234·d062·992e·35f9·e9d2·1e2d·19c5·84ec··.4.b..5....-.... | |||
| 00000b00:·13b6·bbeb·fee8·1ec5·c116·2774·efa0·b3dd··..........'t.... | |||
| 00000b10:·4de8·7eee·e82e·2684·a11a·7474·e7a0·1b01··M.~...&...tt.... | |||
| 00000b20:·772a·b877·1106·005d·9121·31a4·70ea·3aad··w*.w...].!1.p.:. | |||
| 00000b30:·c2aa·b793·ebbe·7750·ba14·92ba·6c9d·e1ee··......wP....l... | |||
| 00000b40:·01ee·69a0·3142·2b54·9a34·dcd3·70bf·d749··..i.1B+T.4..p..I | |||
| 00000b50:·abd2·56a5·5364·fa5b·b29f·1d43·8bd3·c383··..V.Sd.[...C.... | |||
| 00000b60:·63c5·2fd4·e118·5a51·fcac·13eb·6315·723f··c./...ZQ....c.r? | |||
| 00000b70:·f70d·837b·d135·c33d·4a8c·1662·70e7·4018··...{.5.=J..bp.@. | |||
| 00000b80:·dccb·703f·3dc0·3d0b·10d4·ca2d·b88b·8182··..p?=.=....-.... | |||
| 00000b90:·3b10·dc8d·d800·981c·c6a4·545a·5429·1556··;.........TZT).V | |||
| 00000ba0:·bd9d·5570·df1f·50aa·33cc·c34c·7986·c99e··..Up..P.3..Ly... | |||
| 00000bb0:·937b·11dc·a182·6885·82a3·bb4f·708f·8a00··.{....h....Op... | |||
| 00000bc0:·980a·7097·c012·dc95·e07e·16c1·fdcb·9620··..p......~.....· | |||
| 00000bd0:·3843·708f·008c·fb0c·dc9d·dc9e·4a60·ede0··8Cp.........J`.. | |||
| Max diff block lines reached; -1/49747 bytes (-0.00%) of diff not shown. | |||
| Offset 87, 433 lines modified | Offset 87, 433 lines modified | ||
| 00000560:·a0a0·2653·7464·6c69·6290·30cf·c6ab·ca66··..&Stdlib.0....f | 00000560:·a0a0·2653·7464·6c69·6290·30cf·c6ab·ca66··..&Stdlib.0....f | ||
| 00000570:·3b2d·71db·1750·a2c0·51cf·6ea0·a038·4361··;-q..P..Q.n..8Ca | 00000570:·3b2d·71db·1750·a2c0·51cf·6ea0·a038·4361··;-q..P..Q.n..8Ca | ||
| 00000580:·6d6c·696e·7465·726e·616c·466f·726d·6174··mlinternalFormat | 00000580:·6d6c·696e·7465·726e·616c·466f·726d·6174··mlinternalFormat | ||
| 00000590:·4261·7369·6373·9030·aa55·0bda·b521·d60e··Basics.0.U...!.. | 00000590:·4261·7369·6373·9030·aa55·0bda·b521·d60e··Basics.0.U...!.. | ||
| 000005a0:·769a·9ad4·3a67·7e65·4084·95a6·be00·0000··v...:g~e@....... | 000005a0:·769a·9ad4·3a67·7e65·4084·95a6·be00·0000··v...:g~e@....... | ||
| 000005b0:·0400·0000·0200·0000·0500·0000·05a0·9040··...............@ | 000005b0:·0400·0000·0200·0000·0500·0000·05a0·9040··...............@ | Diff chunk too large, falling back to line-by-line diff (426 lines added, 426 lines removed) | |
| 000005c0:·4043·616d·6c31·3939·3954·3033·3584·95a6··@Caml1999T035... | 000005c0:·4043·616d·6c31·3939·3954·3033·3584·95a6··@Caml1999T035... | ||
| 000005d0:·bd10·b5 | 000005d0:·bd10·b50b·818b·6c94·79d9·47d4·1528·b52f··......l.y.G..(./ | ||
| 000005e0:·fd00·58 | 000005e0:·fd00·5815·d400·9a49·ed45·5810·302a·69d3··..X....I.EX.0*i. | ||
| 000005f0:· | 000005f0:·0182·3d21·ee59·ff14·389a·4406·6f11·38dd··..=!.Y..8.D.o.8. | ||
| 00000600:· | 00000600:·fba0·b14b·3d0c·db56·3def·73bc·3f9a·6ef5··...K=..V=.s.?.n. | ||
| 00000610:· | 00000610:·0255·da00·aa3f·14e4·77c6·48a4·f5aa·7ebf··.U...?..w.H...~. | ||
| 00000620:· | 00000620:·d15b·601d·24f8·3341·dc19·62c5·a951·1375··.[`.$.3A..b..Q.u | ||
| 00000630:· | 00000630:·a855·b017·0194·95dd·aad0·7953·fb6e·2497··.U........yS.n$. | ||
| 00000640:· | 00000640:·f4b6·015f·0430·0448·04bd·817b·b6bb·eb48··..._.0.H...{...H | ||
| 00000650:· | 00000650:·e002·1670·e1be·02f7·24cf·9ac5·7d09·9060··...p....$...}..` | ||
| 00000660:· | 00000660:·4289·24ba·a7b8·afba·675d·b837·e2be·1b09··B.$.....g].7.... | ||
| 00000670:· | 00000670:·37ea·69fa·acd9·cdfd·1455·96a2·cadd·1358··7.i......U.....X | ||
| 00000680:· | 00000680:·732f·7b6f·1417·6e59·36f7·9965·331b·aa35··s/{o..nY6..e3..5 | ||
| 00000690:·d | 00000690:·d6ad·e6be·fbcc·3d0d·f73c·746c·87b6·7569··......=..<tl..ui | ||
| 000006a0:· | 000006a0:·7e5b·490b·f734·b459·87fc·fbc2·ba1a·edc8··~[I..4.Y........ | ||
| 000006b0:· | 000006b0:·99ca·4c0b·f71d·5392·bb1b·9026·d6dd·17ef··..L...S....&.... | ||
| 000006c0:· | 000006c0:·ba79·b8e7·e1be·7b8c·38f7·c6b9·17c9·855b··.y....{.8......[ | ||
| 000006d0:· | 000006d0:·7624·f252·a640·bc94·e958·43c7·7466·1b6b··v$.R.@...XC.tf.k | ||
| 000006e0:· | 000006e0:·e858·8e27·39fe·b05a·7886·d282·329b·1bce··.X.'9..Zx...2... | ||
| 000006f0:· | 000006f0:·bd18·b857·8a0b·b768·da49·46e3·e6f7·88df··...W...h.IF..... | ||
| 00000700:· | 00000700:·dcfd·3ad5·d2d0·ae38·fce6·ee75·e05d·e7f0··..:....8...u.].. | ||
| 00000710:· | 00000710:·cbc2·fdba·b624·cf4a·9573·ffb0·c3bd·68ee··.....$.J.s....h. | ||
| 00000720:· | 00000720:·85e2·c22d·fbe5·3ec7·30b8·f744·6f37·74b6··...-..>.0..Do7t. | ||
| 00000730:· | 00000730:·63b7·eab1·5a89·39a6·039b·6fe0·58ab·e791··c...Z.9...o.X... | ||
| 00000740:· | 00000740:·8f54·9369·a3a9·493b·a456·1a97·b3ec·42aa··.T.i..I;.V....B. | ||
| 00000750:· | 00000750:·b228·1a59·e26c·a4cc·a848·87a5·2693·955f··.(.Y.l...H..&.._ | ||
| 00000760:· | 00000760:·cc14·979b·9538·19ad·3ccd·5a49·3baf·14e9··.....8..<.ZI;... | ||
| 00000770:· | 00000770:·90b4·e050·1cae·0cd2·3161·424d·19ad·ec32··...P....1aBM...2 | ||
| 00000780:·4 | 00000780:·436d·4db2·342a·09a6·3b62·0218·d456·c395··CmM.4*..;b...V.. | ||
| 00000790:· | 00000790:·5f50·5997·19a9·26c1·7442·ae44·e1d0·5b79··_PY...&.tB.D..[y | ||
| 000007a0:· | 000007a0:·93d5·5099·9aa3·f2d2·bd4a·a09d·39b4·2653··..P......J..9.&S | ||
| 000007b0:· | 000007b0:·d129·41ba·0fee·655e·e0bc·05ce·52ad·d2d3··.)A...e^....R... | ||
| 000007c0:·4 | 000007c0:·4c25·915e·ba1b·58d4·b3bc·e59c·70a4·8c66··L%.^..X.....p..f | ||
| 000007d0:· | 000007d0:·dac8·2fe7·d10f·dd05·f75b·e0bc·f608·7096··../......[....p. | ||
| 000007e0:· | 000007e0:·2620·e87e·bfa5·b499·3559·0d95·d14e·263d··&·.~....5Y...N&= | ||
| 000007f0:· | 000007f0:·7465·8881·d71e·015e·4271·650a·b2a8·26f3··te.....^Bqe...&. | ||
| 00000800:· | 00000800:·8bb9·e487·ce8a·25b8·854f·5ca9·aa24·94cc··......%..O\..$.. | ||
| 00000810:· | 00000810:·46e2·4ad5·b4c9·4e54·76e2·4830·4732·9b5b··F.J...NTv.H0G2.[ | ||
| 00000820:· | 00000820:·38d6·adc5·0b9c·fb05·2870·a4da·bc36·135e··8.......(p...6.^ | ||
| 00000830:· | 00000830:·573e·ab95·7842·89cb·d94c·b226·5371·659a··W>..xB...L.&Sqe. | ||
| 00000840:· | 00000840:·c660·3a28·aa66·413c·7a9a·a8e6·99fb·d171··.`:(.fA<z......q | ||
| 00000850:· | 00000850:·c028·2dd5·a826·205d·1c2b·4ea7·8953·d31d··.(-..&·].+N..S.. | ||
| 00000860:· | 00000860:·ba09·3871·04ce·ab53·7943·937e·7455·3989··..8q...SyC.~tU9. | ||
| 00000870:· | 00000870:·5a79·a253·7eb0·4839·5153·8542·77e8·d820··Zy.S~.H9QS.Bw..· | ||
| 00000880:·a | 00000880:·a9a7·597e·3155·f20c·d2d9·d0ad·064b·2935··..Y~1U.......K)5 | ||
| 00000890:· | 00000890:·1a9c·cfe0·75aa·cd68·705e·cba2·a21e·5d55··....u..hp^....]U | ||
| 000008a0:· | 000008a0:·d6d1·9896·7a74·5539·4dac·93a2·a8a9·69fb··....ztU9M.....i. | ||
| 000008b0:·d | 000008b0:·d195·d112·6b12·aaa8·b2a8·1448·db0e·5d0c··....k......H..]. | ||
| 000008c0:· | 000008c0:·5442·1872·8029·4441·d4d3·04d2·0d00·4b75··TB.r.)DA......Ku | ||
| 000008d0:· | 000008d0:·2ca6·9ea6·8f2e·0058·aa3b·4948·2766·894a··,......X.;IH'f.J | ||
| 000008e0:· | 000008e0:·a2b6·1a90·2e0a·4b75·9380·43d5·590e·a7a6··......Ku..C.Y... | ||
| 000008f0:· | 000008f0:·273a·939d·a899·9ea5·1aa6·14a2·eba2·242b··':............$+ | ||
| 00000900:· | 00000900:·c9ad·259f·b963·4bb0·92b6·52e5·2877·9aea··..%..cK...R.(w.. | ||
| 00000910:· | 00000910:·89ce·7ce8·9a62·4de5·49ad·56fa·e84e·c052··..|..bM.I.V..N.R | ||
| 00000920:· | 00000920:·dd4e·ce30·a58f·6ecb·12ac·0447·3ecd·7e74··.N.0..n....G>.~t | ||
| 00000930:· | 00000930:·4758·aa63·1deb·bed2·54e6·70ea·8fae·2a53··GX.c....T.p...*S | ||
| 00000940:· | 00000940:·c152·2b59·a636·b206·a4ab·ca69·ba99·d850··.R+Y.6.....i...P | ||
| 00000950:· | 00000950:·b4e9·4797·044b·7577·0b77·77e7·6621·77ac··..G..Kuw.ww.f!w. | ||
| 00000960:· | 00000960:·d758·23f5·6a8a·2fee·f5da·e695·91d5·4a84··.X#.j./.......J. | ||
| 00000970:· | 00000970:·1245·e270·2490·ae77·3b22·8870·c00f·9d03··.E.p$..w;".p.... | ||
| 00000980:·7 | 00000980:·77e7·5590·d54a·bc81·fb06·eeee·1bf8·06ee··w.U..J.......... | ||
| 00000990:· | 00000990:·66c0·bd66·ee7d·e2c2·2d96·1596·9512·d376··f..f.}..-......v | ||
| 000009a0:· | 000009a0:·8311·d56a·266d·a8c9·b4cd·602d·3bb6·6043··...j&m....`-;.`C | ||
| 000009b0:· | 000009b0:·8814·0132·fa18·3284·e805·4408·d108·8382··...2..2...D..... | ||
| 000009c0:· | 000009c0:·1a7d·108d·3074·ca08·6484·d950·2c23·3933··.}..0t..d..P,#93 | ||
| 000009d0:· | 000009d0:·7da4·268e·c432·a6ea·d148·3bc9·f18c·8d3e··}.&..2...H;....> | ||
| 000009e0:· | 000009e0:·c6d7·388e·ad16·4c0c·ae54·4b1c·14ae·544f··..8...L..TK...TO | ||
| 000009f0:· | 000009f0:·734c·1a9d·8c62·caa7·598e·741a·52cb·1356··sL...b..Y.t.R..V | ||
| 00000a00:· | 00000a00:·deca·a759·fab2·9133·539d·9138·a8a1·a122··...Y...3S..8..." | ||
| 00000a10:· | 00000a10:·2855·7d2a·5241·8571·1c5b·3574·2c6d·391a··(U}*RA.q.[5t,m9. | ||
| 00000a20:· | 00000a20:·7a1b·d399·0d66·33d5·dc58·4347·1587·428d··z....f3..XCG..B. | ||
| 00000a30:· | 00000a30:·e498·9aa9·f9a4·348e·630b·c664·0290·2513··......4.c..d..%. | ||
| 00000a40:· | 00000a40:·6e4f·aa89·439d·6cb1·b19c·9d25·aeac·d5cc··nO..C.l....%.... | ||
| 00000a50:· | 00000a50:·2563·d092·293c·a88c·20a4·b832·0a69·2ccf··%c..)<..·..2.i,. | ||
| 00000a60:· | 00000a60:·d229·c764·aca1·e389·9a2a·a99e·e5ad·b441··.).d.....*.....A | ||
| 00000a70:· | 00000a70:·ddcc·f18c·8de3·d8ea·bb5a·b588·c865·da9c··.........Z...e.. | ||
| 00000a80:· | 00000a80:·f31a·dbc1·2b58·75cb·ca13·3d65·3b5a·560d··....+Xu...=e;ZV. | ||
| 00000a90:· | 00000a90:·53aa·30db·8d9c·a142·99c5·81cd·ac14·51ad··S.0....B......Q. | ||
| 00000aa0:· | 00000aa0:·662e·015a·19ad·5662·33db·d238·8ee3·d842··f..Z..Vb3..8...B | ||
| 00000ab0:· | 00000ab0:·e1ae·562d·2cf0·a168·fc54·2da0·c177·61f0··..V-,..h.T-..wa. | ||
| 00000ac0:· | 00000ac0:·e370·839f·2580·d7a9·3606·7c0b·dcd8·f92f··.p..%...6.|..../ | ||
| 00000ad0:·0 | 00000ad0:·0085·0df0·9702·8b1a·f7cf·5478·a141·19f8··..........Tx.A.. | ||
| 00000ae0:· | 00000ae0:·590b·4c06·fe18·1980·f180·5d1b·08e4·7e63··Y.L.......]...~c | ||
| 00000af0:· | 00000af0:·c49a·cf44·810f·c50c·3941·00f1·04be·0530··...D....9A.....0 | ||
| 00000b00:· | 00000b00:·58a2·0707·e0ab·03be·670e·3317·b4c1·b7c1··X.......g.3..... | ||
| 00000b10:· | 00000b10:·8208·e0ff·80d9·e043·6067·7783·1976·cd4f··.......C`gw..v.O | ||
| 00000b20:·5 | 00000b20:·7cc0·5783·cfa2·c16f·3560·01eb·197c·3398··|.W....o5`...|3. | ||
| 00000b30:· | 00000b30:·c45f·c267·017f·c792·0193·3100·be29·e07b··._.g......1..).{ | ||
| 00000b40:· | 00000b40:·5bc2·3632·e7a5·042a·b3a3·6a30·2abe·27be··[.62...*..j0*.'. | ||
| 00000b50:· | 00000b50:·3617·6e59·02e0·671c·f7a6·339b·4fa6·b3ce··6.nY..g...3.O... | ||
| 00000b60:· | 00000b60:·307e·0efc·24f8·bb13·37e1·2728·8a8f·e277··0~..$...7.'(...w | ||
| 00000b70:· | 00000b70:·db80·e03b·842f·0a43·a36a·cba5·256e·088b··...;./.C.j..%n.. | ||
| 00000b80:· | 00000b80:·0b3e·104c·085f·1f7c·4d13·f0b3·931b·3ef8··.>.L._.|M.....>. | ||
| 00000b90:· | 00000b90:·6cac·aff0·fee1·afe0·7b99·b5ad·5a03·c33d··l.......{...Z..= | ||
| 00000ba0:· | 00000ba0:·d8c9·c5bb·1ec2·f843·f8dd·3c78·05df·2de3··.......C..<x..-. | ||
| 00000bb0:· | 00000bb0:·bb4e·e611·7c30·c818·e3bb·27f8·6e4d·077e··.N..|0....'.nM.~ | ||
| 00000bc0:· | 00000bc0:·6e62·03e9·e25d·6fa1·c577·abbe·5bba·70cb··nb...]o..w..[.p. | ||
| 00000bd0:· | 00000bd0:·5a80·9f9f·e4b8·3789·a7ce·778c·5fe7·bb0a··Z.....7...w._... | ||
| 00000be0:· | 00000be0:·bdc2·ef5e·e1af·f0bb·e7b0·f92e·9bef·cec4··...^............ | ||
| 00000bf0:· | 00000bf0:·945d·4824·58ad·662e·e151·0197·53c9·d3c9··.]H$X.f..Q..S... | ||
| 00000c00:· | 00000c00:·4c47·3507·751e·8d3d·ac86·c077·a7be·dbe4··LG5.u..=...w.... | ||
| 00000c10:· | 00000c10:·c26d·991a·dfad·f85e·26f6·80ef·6c05·bee7··.m.....^&...l... | ||
| 00000c20:· | 00000c20:·ef6c·6673·c7de·e48e·bdc9·cdc4·f735·df37··.lfs.........5.7 | ||
| 00000c30:· | 00000c30:·d004·938b·7772·e47c·97f3·bd9b·88a8·ef82··....wr.|........ | ||
| 00000c40:· | 00000c40:·f92e·3996·4faa·3a2e·8d21·b8f9·4e76·12df··..9.O.:..!..Nv.. | ||
| 00000c50:· | 00000c50:·a986·10db·ef3b·37df·8ff8·ceae·f91e·16f1··.....;7......... | ||
| 00000c60:· | 00000c60:·2565·bf0f·31e6·3b93·ef5b·beb3·a00f·e8d9··%e..1.;..[...... | ||
| 00000c70:· | 00000c70:·a5fc·aeec·bb5c·5cb8·6575·f89e·37b8·f749··.....\\.eu..7..I | ||
| 00000c80:· | 00000c80:·753a·4bdb·8e4c·6765·330b·dfb5·7c47·400b··u:K..Lge3...|G@. | ||
| 00000c90:· | 00000c90:·dfd9·ee25·17ef·c890·f94e·e67b·3713·cf77··...%.....N.{7..w | ||
| 00000ca0:· | 00000ca0:·3ff8·ee09·4cea·d2f8·a4be·98ce·a531·3d71··?...L........1=q | ||
| 00000cb0:· | 00000cb0:·39b5·c48d·4ce7·a88e·6ae9·b434·8a90·7ec7··9...L...j..4..~. | ||
| 00000cc0:·a | 00000cc0:·adc2·772a·a587·f98e·05ab·df9d·bef7·9bb6··..w*............ | ||
| 00000cd0:·3 | 00000cd0:·3bfd·8efb·6e1e·74b0·e61c·5fd7·be97·df59··;...n.t..._....Y | ||
| 00000ce0:·2 | 00000ce0:·2ddf·3d2e·3736·7801·f795·ef4a·3cdf·737c··-.=.76x....J<.s| | ||
| 00000cf0:·4 | 00000cf0:·4f72·412a·df0c·0c54·9e35·d3f1·be4e·51f5··OrA*...T.5...NQ. | ||
| 00000d00:· | 00000d00:·8eaa·77c4·ef7a·df65·72e1·966d·f23d·6b70··..w..z.er..m.=kp | ||
| 00000d10:· | 00000d10:·af5a·3af9·643a·abcf·0786·773a·de6b·7cb0··.Z:.d:....w:.k|. | ||
| 00000d20:· | 00000d20:·9ecf·6868·e8fb·d0f7·eed5·47e5·5d0c·7877··..hh......G.].xw | ||
| 00000d30:· | 00000d30:·29ed·c11a·bf27·7181·26bc·8b84·77b7·b870··)....'q.&...w..p | ||
| Max diff block lines reached; -1/59285 bytes (-0.00%) of diff not shown. | |||
| Offset 49, 322 lines modified | Offset 49, 322 lines modified | ||
| 00000300:·7fa0·a026·5374·646c·6962·9030·cfc6·abca··...&Stdlib.0.... | 00000300:·7fa0·a026·5374·646c·6962·9030·cfc6·abca··...&Stdlib.0.... | ||
| 00000310:·663b·2d71·db17·50a2·c051·cf6e·a0a0·3843··f;-q..P..Q.n..8C | 00000310:·663b·2d71·db17·50a2·c051·cf6e·a0a0·3843··f;-q..P..Q.n..8C | ||
| 00000320:·616d·6c69·6e74·6572·6e61·6c46·6f72·6d61··amlinternalForma | 00000320:·616d·6c69·6e74·6572·6e61·6c46·6f72·6d61··amlinternalForma | ||
| 00000330:·7442·6173·6963·7390·30aa·550b·dab5·21d6··tBasics.0.U...!. | 00000330:·7442·6173·6963·7390·30aa·550b·dab5·21d6··tBasics.0.U...!. | ||
| 00000340:·0e76·9a9a·d43a·677e·6540·8495·a6be·0000··.v...:g~e@...... | 00000340:·0e76·9a9a·d43a·677e·6540·8495·a6be·0000··.v...:g~e@...... | ||
| 00000350:·0004·0000·0002·0000·0005·0000·0005·a090··................ | 00000350:·0004·0000·0002·0000·0005·0000·0005·a090··................ | ||
| 00000360:·4040·4361·6d6c·3139·3939·5430·3335·8495··@@Caml1999T035.. | 00000360:·4040·4361·6d6c·3139·3939·5430·3335·8495··@@Caml1999T035.. | ||
| 00000370:·a6bd·0fa7·1 | 00000370:·a6bd·0fa7·18e0·348d·20bb·12b6·3728·b52f··......4.·...7(./ | ||
| 00000380:·fd00·58b5·9c00·4aff·8035·4720·e2d5·74ab··..X...J..5G·..t. | |||
| 00000390:·ffff·114f·14d4·6855·59b2·f3ee·f05b·15e0··...O..hUY....[.. | |||
| 000003a0:·1407·6151·0184·c3ba·13b3·4d5e·febb·eb73··..aQ......M^...s | |||
| 000003b0:·fd49·a8b1·6dbb·d79f·cabb·0706·dbfe·dcf1··.I..m........... | |||
| 000003c0:·71e3·5bb8·ddfb·fe99·8998·5cb0·ef0a·25b9··q.[.......\...%. | |||
| 000003d0:·37b5·4c03·4503·3103·5d04·6c27·57e5·a54f··7.L.E.1.].l'W..O | |||
| 000003e0:·b467·a401·bacb·1b29·06a1·ed69·0215·4dfb··.g.....)...i..M. | |||
| 000003f0:·0ced·39cd·30b4·bfec·5f4d·fb7f·0ced·30b4··..9.0..._M....0. | |||
| 00000400:·9b69·7f19·52fe·4fe3·0cd9·ff77·cdfa·4fd3··.i..R.O....w..O. | |||
| 00000410:·9ea6·fd9f·0848·e76b·3a5f·37b9·2a2f·b5b1··.....H.k:_7.*/.. | |||
| 00000420:·3b75·852d·79a9·4429·1b5a·2952·24c5·1093··;u.-y.D).Z)R$... | |||
| 00000430:·658d·c90e·f9d4·5a69·7b92·d3fc·21b4·8ff1··e.....Zi{...!... | |||
| 00000440:·4b68·bcad·da97·d4ac·4fe3·5da6·1d45·7921··Kh......O.]..Ey! | |||
| 00000450:·13b4·97f3·cf51·e3eb·31be·c6e2·aabc·f4aa··.....Q..1....... | |||
| 00000460:·3dcb·8a74·6326·592d·28ad·d690·2c53·9366··=..tc&Y-(...,S.f | |||
| 00000470:·2455·f659·86b0·30c9·0484·4513·471b·7e1a··$U.Y..0...E.G.~. | |||
| 00000480:·c242·af18·f28e·09f1·ecca·165e·730c·6749··.B.........^s.gI | |||
| 00000490:·473b·0d6e·b33b·ea6c·656e·76a9·c4d3·d4d5··G;.n.;.lenv..... | |||
| 000004a0:·ae39·b35d·52bc·5d1b·d9e5·68d7·0465·96a6··.9.]R.]...h..e.. | |||
| 000004b0:·799f·ecaa·8029·c599·ed8e·a995·236d·765e··y....)......#mv^ | |||
| 000004c0:·3dc5·7616·7ca9·2ac7·9b79·a9ca·d998·5a88··=.v.|.*..y....Z. | |||
| 000004d0:·9f62·bb29·5dae·cc32·7773·b35b·39c3·ba2c··.b.)]..2ws.[9.., | |||
| 000004e0:·b05d·6c03·1ba9·2b6f·335c·363d·d9d9·f699··.]l...+o3\6=.... | |||
| 000004f0:·1e35·d751·3316·8f0b·ae86·432c·b05d·122f··.5.Q3.....C,.]./ | |||
| 00000500:·98bc·399d·9419·ce6c·e218·5291·4c46·bb22··..9....l..R.LF." | |||
| 00000510:·ed75·d48c·fe1b·5583·2a4d·763c·ed1c·dc51··.u....U.*Mv<...Q | |||
| 00000520:·bccd·6ee5·cc46·2a41·d911·72a7·a2ff·468d··..n..F*A..r...F. | |||
| 00000530:·2acd·fbc1·ec8a·2652·8954·8c76·7594·aa4f··*.....&R.T.vu..O | |||
| 00000540:·25cd·8b71·3835·1b43·f362·719c·91e5·8c34··%..q85.C.bq....4 | |||
| 00000550:·c3aa·0a72·9a7d·aaec·1f4a·8f9a·df84·0cbe··...r.}...J...... | |||
| 00000560:·c0e2·65f4·c354·b405·d46a·0d09·734d·dd28··..e..T...j..sM.( | |||
| 00000570:·86b7·1936·ef79·ca62·3b33·e8d4·9e38·f9a9··...6.y.b;3...8.. | |||
| 00000580:·8245·5217·b41b·23e9·bcf8·8a26·b48b·a345··.ER...#....&...E | |||
| 00000590:·8a14·4d7c·0eed·da68·1145·cda8·d4cd·954f··..M|...h.E.....O | |||
| 000005a0:·41bb·3999·8adb·25cb·a620·2f57·caa1·dd12··A.9...%..·/W.... | |||
| 000005b0:·5830·295e·2a11·87e4·935d·0eff·4254·2c2e··X0)^*....]..BT,. | |||
| 000005c0:·9fa6·661c·2aca·8697·d3d4·8cde·a3a3·9fdd··..f.*........... | |||
| 000005d0:·9ccc·830d·4cd4·cf6e·4e5e·23fb·272b·f814··....L..nN^#.'+.. | |||
| 000005e0:·c7a0·1d16·94ec·b738·e1d9·d507·e138·b47b··.......8.....8.{ | |||
| 000005f0:·218b·9429·2b34·3910·0593·a2d0·ee84·8af5··!..)+49......... | |||
| 00000600:·3219·2645·a05d·998a·f5ff·f4da·8940·0587··2.&E.].......@.. | |||
| 00000610:·e578·13da·7d50·b1fe·b798·25ae·e94c·7c92··.x..}P....%..L|. | |||
| 00000620:·656d·4696·e249·5e6c·751f·d88d·4819·293f··emF..I^lu...H.)? | |||
| 00000630:·5426·f3cb·942a·d26b·7162·d291·2226·cb1a··T&...*.kqb.."&.. | |||
| 00000640:·d1ae·26fb·2c18·dc6e·1768·37ab·58ff·4ba4··..&.,..n.h7.X.K. | |||
| 00000650:·d505·da45·2955·2433·c4d5·8276·1954·ac97··...E)U$3...v.T.. | |||
| 00000660:·bdec·df0b·edea·4c1c·b49b·939d·2a16·1ade··......L.....*... | |||
| 00000670:·730c·6f42·bb39·79cd·bfd2·5896·b4a0·dd57··s.oB.9y...X....W | |||
| 00000680:·acff·f7a9·ffff·f947·c82f·7b54·f658·be45··.......G./{T.X.E | |||
| 00000690:·870f·ff1e·e5e5·d604·add6·900c·ae42·d30c··.............B.. | |||
| 000006a0:·8576·9f95·75c4·113f·0c31·c42b·a9ff·b915··.v..u..?.1.+.... | |||
| 000006b0:·a5d5·1a82·a43e·92fa·ff48·2a92·fa1f·86ab··.....>...H*..... | |||
| 000006c0:·f278·f89a·87af·ad88·632e·768b·68e2·5833··.x......c.v.h.X3 | |||
| 000006d0:·e2a5·3676·92a5·88a7·6ecd·eada·2b9a·25cd··..6v....n...+.%. | |||
| 000006e0:·b2ca·92a5·88c3·9c59·de48·d18e·2159·8a58··.......Y.H..!Y.X | |||
| 000006f0:·b4d9·6496·a8e7·881c·032f·e78c·ca02·a885··..d....../...... | |||
| 00000700:·b4fe·6797·2cc9·d910·2fc5·5617·c7c6·5c58··..g.,.../.V...\X | |||
| 00000710:·2b5f·394d·93e6·14ab·bc91·2269·a5d4·a495··+_9M......"i.... | |||
| 00000720:·d46a·0d09·83d4·9672·555e·2a40·f59c·6486··.j.....rU^*@..d. | |||
| 00000730:·af14·ac55·1dac·9eca·9e0c·d0b3·40af·02f4··...U........@... | |||
| 00000740:·f4ab·187c·ab3a·1d77·f2a8·4d47·edeb·aabc··...|.:.w..MG.... | |||
| 00000750:·5410·d033·1524·ddb7·169a·784c·2da4·3d29··T..3.$....xL-.=) | |||
| 00000760:·0374·2a40·7743·ce52·d7ac·3a75·40af·03fa··.t*@wC.R..:u@... | |||
| 00000770:·bf1c·46d4·36a2·76ed·1443·d3e2·331c·6fe5··..F.6.v..C..3.o. | |||
| 00000780:·c561·7ba9·ae68·e2bb·c546·d003·bd86·0f03··.a{..h...F...... | |||
| 00000790:·f41e·0f8e·17a0·bfe9·810e·07f4·940a·d0bb··................ | |||
| 000007a0:·c8a2·8820·dc80·ce03·6100·5d06·ba17·900b··...·....a.]..... | |||
| 000007b0:·277a·5813·6687·1c6a·d750·9be6·aabc·f408··'zX.f..j.P...... | |||
| 000007c0:·d0f3·01dd·28e8·5d40·d721·862a·5db3·d0a0··....(.]@.!.*]... | |||
| 000007d0:·011d·0de8·ff34·5ca9·7da5·b618·9dbd·8916··.....4\.}....... | |||
| 000007e0:·cc25·cba6·287b·92a6·0edf·2df8·2e59·2a64··.%..({....-..Y*d | |||
| 000007f0:·4077·f22d·80de·73ca·4205·d0b7·6051·02e8··@w.-..s.B...`Q.. | |||
| 00000800:·2548·06f4·3257·5051·4192·02dd·8a12·9a9d··%H..2WPQA....... | |||
| 00000810:·a834·d073·a0a7·5d40·af42·0af4·fc05·a4e0··.4.s..]@.B...... | |||
| 00000820:·a80b·e853·6c71·032d·a840·0be8·4e20·03a0··...Slq.-.@..N·.. | |||
| 00000830:·77f1·391b·5258·99e2·4011·516d·27b5·6748··w.9.RX..@.Qm'.gH | |||
| 00000840:·a067·03ba·f195·b2a0·aff1·3911·c804·f4f4··.g........9..... | |||
| 00000850:·5fa9·6bd6·c340·ff87·810e·03fd·7fa8·1602··_.k..@.......... | |||
| 00000860:·7621·6083·8991·a12d·b1cd·26b3·3f3d·4640··v!`....-..&.?=F@ | |||
| 00000870:·97f3·4b40·efa1·c143·0074·3502·f9a2·4002··..K@...C.t5...@. | |||
| 00000880:·ba20·0040·7104·f43d·8c80·4e00·f844·0020··.·.@q..=..N..D.· | |||
| 00000890:·2181·7c1f·7bec·f179·c804·b5e3·f340·3e4f··!.|.{..y.....@>O | |||
| 000008a0:·d7f8·bccd·1e9f·6738·ea98·638d·cf9b·78a3··......g8..c...x. | |||
| 000008b0:·c71d·767c·1a9f·a341·c4e7·357c·2e04·1364··..v|...A..5|...d | |||
| 000008c0:·bcd1·069d·34c0·9603·f617·57e5·a570·3ecf··....4.....W..p>. | |||
| 000008d0:·0574·db6c·2150·119f·07f1·3913·4650·e99a··.t.l!P....9.FP.. | |||
| 000008e0:·d544·139f·37f1·f93f·1952·802d·05d8·1c94··.D..7..?.R.-.... | |||
| 000008f0:·4dd6·a887·cfd9·f8f0·79ef·bf87·cf79·d07d··M.......y....y.} | |||
| 00000900:·2efb·dccb·e7e9·123b·bc81·a28d·134a·80cd··.......;.....J.. | |||
| 00000910:·066c·281b·3ecf·47ba·c751·4752·7dde·e5f3··.l(.>.G..QGR}... | |||
| 00000920:·3255·9fa7·ff49·5db3·cc98·f9dc·cce7·ff59··2U...I]........Y | |||
| 00000930:·2980·9d02·d81a·dc4a·7b6b·579c·b255·97b4··)......J{kW..U.. | |||
| 00000940:·a1bd·38bc·6692·0d12·f339·f9e6·e73d·a724··..8.f....9...=.$ | |||
| 00000950:·729f·6ff9·fcdd·f0fe·c57c·3ee6·f3b4·cbe7··r.o......|>..... | |||
| 00000960:·48dc·cf33·076f·8299·2e9f·1fe1·fd54·94b0··H..3.o.......T.. | |||
| 00000970:·7d8e·a2bc·338f·c209·9809·9aad·da51·36bd··}...3........Q6. | |||
| 00000980:·7f2d·9f3b·d1d1·6ea7·5dc9·e759·5956·3e67··.-.;..n.]..YYV>g | |||
| 00000990:·c3fb·1fe1·0acd·5f54·944d·efb3·7a4f·6582··......_T.M..zOe. | |||
| 000009a0:·4d82·edc5·5579·29d2·e7d9·48f7·1d13·e682··M...Uy)...H..... | |||
| 000009b0:·f21d·689a·7f90·7641·947c·3ee4·bbd3·9ec4··..h...vA.|>..... | |||
| 000009c0:·8ef6·877d·9e22·f0b9·1fed·ff83·b423·a119··...}.".......#.. | |||
| 000009d0:·907f·d7e7·493e·4f65·4fe4·f37f·42da·efb4··....I>OeO...B... | |||
| 000009e0:·ab29·c2ce·191e·2a7b·d44e·fb9b·f636·ed73··.)....*{.N...6.s | |||
| 000009f0:·dab3·f268·ffbf·8082·94b4·ba40·68de·a39d··...h.......@h... | |||
| 00000a00:·4d2f·63f5·50d9·ff23·75cd·faef·f9bc·e7f3··M/c.P..#u....... | |||
| 00000a10:·ff71·09ec·25b0·b948·91a2·19de·2a98·eda9··.q..%..H....*... | |||
| 00000a20:·62c4·c3ce·bb4d·3bca·8697·d778·8741·2578··b....M;....x.A%x | |||
| 00000a30:·006c·23b0·9fde·68cf·4904·7493·5677·8af6··.l#...h.I.t.Vw.. | |||
| 00000a40:·54f6·3eb4·c391·e265·bd5e·7baf·fd3f·e602··T.>....e.^{..?.. | |||
| 00000a50:·db05·b616·57e5·a5a3·cc36·2043·7b9a·df4d··....W....6·C{..M | |||
| 00000a60:·7b11·20da·ff3f·4901·6062·be40·71f1·6927··{.·..?I.`b.@q.i' | |||
| 00000a70:·9f0e·d372·cf4b·baaf·6ee2·3585·aeb8·1fb9··...r.K..n.5..... | |||
| 00000a80:·6f80·054b·d72c·2828·7728·f7ff·a620·9f0e··o..K.,((w(...·.. | |||
| 00000a90:·f2e9·2f2d·dbc5·d544·93bc·a718·6eb1·423d··../-...D....n.B= | |||
| 00000aa0:·4bee·441e·03f7·deff·d291·fb9c·7787·c081··K.D.........w... | |||
| 00000ab0:·981c·b9ab·e1fd·4a6b·5ce0·ff53·dc1f·f0ea··......Jk\..S.... | |||
| 00000ac0:·8e46·f53c·d230·7205·1040·4280·4f13·f1e9··.F.<.0r..@B.O... | |||
| 00000ad0:·a896·abf2·d226·ee59·49f7·90bb·e351·dd88··.....&.YI....Q.. | |||
| 00000ae0:·f3b8·a7ff·57ba·66fd·11f7·ff23·ee47·dcff··....W.f....#.G.. | |||
| Max diff block lines reached; -1/43960 bytes (-0.00%) of diff not shown. | |||
| Offset 51, 325 lines modified | Offset 51, 327 lines modified | ||
| 00000320:·fc13·319c·ba63·6d81·a0a0·2653·7464·6c69··..1..cm...&Stdli | 00000320:·fc13·319c·ba63·6d81·a0a0·2653·7464·6c69··..1..cm...&Stdli | ||
| 00000330:·6290·30cf·c6ab·ca66·3b2d·71db·1750·a2c0··b.0....f;-q..P.. | 00000330:·6290·30cf·c6ab·ca66·3b2d·71db·1750·a2c0··b.0....f;-q..P.. | ||
| 00000340:·51cf·6ea0·a038·4361·6d6c·696e·7465·726e··Q.n..8Camlintern | 00000340:·51cf·6ea0·a038·4361·6d6c·696e·7465·726e··Q.n..8Camlintern | ||
| 00000350:·616c·466f·726d·6174·4261·7369·6373·9030··alFormatBasics.0 | 00000350:·616c·466f·726d·6174·4261·7369·6373·9030··alFormatBasics.0 | ||
| 00000360:·aa55·0bda·b521·d60e·769a·9ad4·3a67·7e65··.U...!..v...:g~e | 00000360:·aa55·0bda·b521·d60e·769a·9ad4·3a67·7e65··.U...!..v...:g~e | ||
| 00000370:·4084·95a6·be00·0000·0400·0000·0200·0000··@............... | 00000370:·4084·95a6·be00·0000·0400·0000·0200·0000··@............... | ||
| 00000380:·0500·0000·05a0·9040·4043·616d·6c31·3939··.......@@Caml199 | 00000380:·0500·0000·05a0·9040·4043·616d·6c31·3939··.......@@Caml199 | ||
| 00000390:·3954·3033·3584·95a6·bd0f·a7 | 00000390:·3954·3033·3584·95a6·bd0f·a760·df62·8d5c··9T035......`.b.\ | ||
| 000003a0:·b | 000003a0:·bc01·b741·28b5·2ffd·0058·bd9e·00da·00e1··...A(./..X...... | ||
| 000003b0:·355a·20ce·ba9a·c6e4·9cbb·05b8·57a4·9248··5Z·.........W..H | |||
| 000003c0:·9e95·8c3d·9f86·731a·c617·7499·71ef·f0cf··...=..s...t.q... | |||
| 000003d0:·eba8·71a2·4a28·9b61·6462·7f9d·d1bb·1f30··..q.J(.adb.....0 | |||
| 000003e0:·5093·effd·95ed·afb0·2dd4·ecf6·8d5e·6337··P.......-....^c7 | |||
| 000003f0:·2427·79f3·7192·5877·9163·36d7·b18f·fc27··$'y.q.Xw.c6....' | |||
| 00000400:·b427·e3ff·5394·3ada·24f7·ca16·5803·3603··.'..S.:.$...X.6. | |||
| 00000410:·4003·7514·2b79·ab8e·2aea·8ceb·082e·c56a··@.u.+y..*......j | |||
| 00000420:·052b·50dd·c1b2·a131·5186·b3cb·6d95·98bf··.+P....1Q...m... | |||
| 00000430:·6562·9e2a·8808·4860·7e88·79cb·2567·ad12··eb.*..H`~.y.%g.. | |||
| 00000440:·f3b8·f992·ca3c·1248·a030·c26d·d7e6·6f58··.....<.H.0.m..oX | |||
| 00000450:·a8ac·1562·3e88·f9f2·659d·ccd7·e649·a052··...b>...e....I.R | |||
| 00000460:·f688·cf06·cc63·c959·2b02·083a·e31a·b73d··.....c.Y+..:...= | |||
| 00000470:·85de·b050·5929·2a2b·0096·37ef·cda2·16cd··...PY)*+..7..... | |||
| 00000480:·9508·98df·1ecc·f934·c324·0986·b11c·9b8c··.......4.$...... | |||
| 00000490:·5bb9·6d93·f928·f325·0d6a·2d94·79fb·b2d6··[.m..(.%.j-.y... | |||
| 000004a0:·da49·a5ac·b5b6·c9fc·969b·b559·6ca0·9b5b··.I.........Yl..[ | |||
| 000004b0:·ba69·a445·7365·d3fc·7e75·3027·59d3·a026··.i.Ese..~u0'Y..& | |||
| 000004c0:·7148·ad74·56ab·9afd·4aa2·dc33·e8cb·ea2c··qH.tV...J..3..., | |||
| 000004d0:·5403·0a86·4399·36c2·0175·93d9·902f·1350··T...C.6..u.../.P | |||
| 00000 | 000003b0:·3558·208c·ca9a·c615·f84c·b7e7·ca86·e6f6··5X·......L...... | ||
| 000003c0:·76bc·0d6f·19e5·abb3·0edc·c056·79ba·ab3d··v..o.......Vy..= | |||
| 000003d0:·1c3b·5a97·af09·4731·be99·87a1·1e6c·1a6a··.;Z...G1.....l.j | |||
| 000003e0:·f2e9·3ff9·fe0a·db42·8d7d·bc79·719e·55e3··..?....B.}.yq.U. | |||
| 000003f0:·3a9c·874d·b863·0111·d5b7·404b·e597·2bfb··:..M.c....@K..+. | |||
| 00000400:·c2ca·ae7f·4998·93dc·2b5b·5a03·3503·4403··....I...+[Z.5.D. | |||
| 00000410:·b70e·a9a2·ceb8·8e20·93ac·56b0·0a55·22ac··.......·..V..U". | |||
| 00000420:·1d2a·1367·3dbb·dc96·87f9·5b20·e6ab·6cc8··.*.g=.....[·..l. | |||
| 00000430:·6102·f338·cc5b·3439·6b79·9897·c07c·1966··a..8.[49ky...|.f | |||
| 00000440:·5e8c·0e38·38b8·6ddb·fccd·4c95·b537·ccdb··^..88.m...L..7.. | |||
| 00000450:·305f·c2ec·9679·db7c·0774·ca42·e053·6ade··0_...y.|.t.B.Sj. | |||
| 00000460:·4cce·da1b·1ae8·8c73·dcb6·177a·3353·65a7··L......s...z3Se. | |||
| 00000470:·aaac·0058·debc·379f·b468·ae54·c0fc·be60··...X..7..h.T...` | |||
| 00000480:·ce28·1a26·4930·94f9·d823·b895·dbae·30cf··.(.&I0...#....0. | |||
| 00000490:·c27c·b901·b5b6·cbbc·8559·6bed·a453·d65a··.|.......Yk..S.Z | |||
| 000004a0:·bbc2·fc99·9bb5·4aa4·e9e6·996e·3669·d15c··......J....n6i.\ | |||
| 000004b0:·1935·bf61·35e6·246b·1ad4·248f·a9d5·8fd5··.5.a5.$k..$..... | |||
| 000004c0:·4a67·c374·28b7·0d0a·b34e·7848·e95c·9443··Jg.t(....NxH.\.C | |||
| 000004d0:·2a86·c399·46e2·2175·bb28·e47b·05d4·5fd4··*...F.!u.(.{.._. | |||
| 000004e0:·0cbc·6308·7e42·4670·5268·df0d·6b33·b1e9··..c.~BFpRh..k3.. | |||
| 000004f0:· | 000004f0:·bb4f·981c·6bb2·3b7e·b39b·31ed·ce72·9211··.O..k.;~..1..r.. | ||
| 00000500:·d20f·ce88·9251·1cc7·8b83·0b92·24e2·4f76··.....Q......$.Ov | |||
| 00000510:·99c4·c410·f691·4f46·3c38·1668·7012·c3d9··......OF<8.hp... | |||
| 00000520:·789b·c48f·490c·d446·3c38·1e48·4fa3·48bb··x...I..F<8.HO.H. | |||
| 00000530:·b46f·267e·ba46·e4c2·b992·c872·4d9c·7d5a··.o&~.F.....rM.}Z | |||
| 00000540:·1cc2·c19d·30ff·9541·b70a·e886·ca1d·2dc5··....0..A......-. | |||
| 00000550:·3468·c485·9b81·44e7·4bab·298d·e027·c321··4h....D.K.)..'.! | |||
| 00000560:·d894·857c·701c·ccab·80ee·9b0d·83ca·2024··...|p.........·$ | |||
| 00000570:·05dc·e767·b821·9e7d·33f1·93e5·203a·381a··...g.!.}3...·:8. | |||
| 00000580:·94a1·371b·065d·228e·b7c9·f704·c34d·38c8··..7..]"......M8. | |||
| 00000590:·0747·2688·dad0·3c5e·ad41·a62f·04c7·ab71··.G&...<^.A./...q | |||
| 000005a0:·f865·f1cb·23e8·c4c2·2eb7·0d7d·59ab·a40c··.e..#......}Y... | |||
| 000005b0:·baed·1418·c240·e5f6·cd26·d1db·aac6·6a55··.....@...&....jU | |||
| 000005c0:·53c3·1d6b·2106·679f·1e2f·49be·7870·5f54··S..k!.g../I.xp_T | |||
| 000005d0:·c570·72dc·08d1·38d7·6ce0·bc00·22af·7e82··.pr...8.l...".~. | |||
| 000005e0:·ddc0·6d11·8352·c6a3·2671·e0b2·68b1·85ee··..m..R..&q..h... | |||
| 000005f0:·9bd2·a589·4636·7055·bb8a·d9cd·e290·0d24··....F6pU.......$ | |||
| 00000600:·45b2·8835·9388·0317·8511·9df1·6dc2·1acc··E..5........m... | |||
| 00000610:·38b8·22ac·6582·421d·d923·e8a6·426f·5872··8.".e.B..#..BoXr | |||
| 00000620:·fb08·ba6f·f7e7·e706·57b5·71b2·a425·37b8··...o....W.q..%7. | |||
| 00000630:·aa5d·e565·8d88·6812·8736·700e·50f2·b247··.].e..h..6p.P..G | |||
| 00000640:·8af4·f7d4·040c·71e0·1840·b4a3·8702·8654··......q..@.....T | |||
| 00000650:·d0a1·33be·81eb·8142·d9d7·4b67·5c03·a703··..3....B..Kg\... | |||
| 00000660:·85b2·d628·0707·2548·8362·38bb·817b·a250··...(..%H.b8..{.P | |||
| 00000670:·d61e·1945·1dab·8d9a·cc62·eccb·2226·f3d5··...E.....b.."&.. | |||
| 00000680:·b6cb·03c7·04c8·06b2·ad92·9db7·7d05·5120··............}.Q· | |||
| 00000690:·3686·22a1·2c62·0dd6·32d6·598c·ede0·602f··6.".,b..2.Y...`/ | |||
| 000006a0:·4bf4·c26c·766b·e06a·a050·d60e·c9b6·5b03··K..lvk.j.P....[. | |||
| 000006b0:·3743·1005·3282·4b31·1b38·210a·655f·f665··7C..2.K1.8!.e_.e | |||
| 000006c0:·2d12·ecd6·466d·0357·b589·28d4·0dbc·6408··-...Fm.W..(...d. | |||
| 000006d0:·ce6e·e0aa·7615·6b83·84a2·08b3·8173·8142··.n..v.k......s.B | |||
| 000006e0:·596b·6da8·b5d6·6e9b·c3b6·2f7b·7b59·2376··Ykm...n.../{{Y#v | |||
| 000006f0:·25a6·05ef·ec2d·b757·3f56·ab1a·189e·c071··%....-.W?V.....q | |||
| 00000700:·046f·e0ac·94d4·952b·4b34·6147·a0d6·ee95··.o.....+K4aG.... | |||
| 00000710:·8ed5·aa66·06b5·33a8·b576·069d·41ad·9d6a··...f..3..v..A..j | |||
| 00000720:·d19c·12dd·54a2·9b44·7048·e3a9·f5c0·7018··....T..DpH....p. | |||
| 00000730:·f3c9·9595·bc58·e310·eb5a·ad3a·ae6c·07e4··.....X...Z.:.l.. | |||
| 00000740:·f6de·b7d7·06b4·062b·6bbf·9bc5·fce1·c895··.......+k....... | |||
| 00000750:·da76·354f·4803·6362·ce2e·9128·7709·7565··.v5OH.cb...(w.ue | |||
| 00000760:·620c·67a4·1456·40ab·554d·3334·f869·1c32··b.g..V@.UM34.i.2 | |||
| 00000770:·913c·16e0·ddc9·3b11·1e10·de90·28ef·36ca··.<....;.....(.6. | |||
| 00000780:·8bf2·1ee5·ddda·2a3e·7ff8·8cb5·684e·864f··......*>....hN.O | |||
| 00000790:·193e·614c·b45b·49ac·6b4c·19d7·bba4·eb0c··.>aL.[I.kL...... | |||
| 000007a0:·d77a·490c·8eb6·8aba·caae·1e6f·5316·6375··.zI........oS.cu | |||
| 000007b0:·07ac·33b1·6a72·c442·ead2·0ede·bb58·1fbc··..3.jr.B.....X.. | |||
| 000007c0:·538d·18e0·c1bb·dec1·bb0e·de4b·27ef·1778··S..........K'..x | |||
| 000007d0:·e291·dec7·9777·1ade·7b3c·2cb4·1354·8d20··.....w..{<,..T.· | |||
| 000007e0:·8bcf·2e9f·b216·cd95·32ef·3b84·3947·7029··........2.;.9Gp) | |||
| 000007f0:·f669·72c4·b3ef·9260·6cbc·4e62·b803·8877··.ir....`l.Nb...w | |||
| 00000800:·1eef·4340·de4b·6b85·4c2a·4544·e49d·c8bb··..C@.Kk.L*ED.... | |||
| 00000810:·b53c·6c3e·6d3e·3fd9·c533·9c6b·95c4·3858··.<l>m>?..3.k..8X | |||
| 00000820:·2b78·ef61·5bf0·4e85·73e5·c7bb·8eb7·8277··+x.a[.N.s......w | |||
| 00000830:·1fde·4b1e·ef52·3a90·62c8·f18e·e3c1·a07b··..K..R:.b......{ | |||
| 00000840:·98ee·2728·6d78·4686·04fd·7cf6·f8b4·a145··..'(mxF...|....E | |||
| 00000850:·73e5·08de·3708·737e·24ce·8941·7732·ddef··s...7.s~$..Aw2.. | |||
| 00000860:·9509·32a9·949d·f16e·ed8c·f719·efd6·a220··..2....n.......· | |||
| 00000870:·0c9d·61e8·a441·0719·ddc5·b02d·e84e·5565··..a..A.....-.NUe | |||
| 00000880:·0116·741f·4346·f731·ba97·64ba·3f21·460d··..t.CF.1..d.?!F. | |||
| 00000890:·bd98·ee55·16e8·9e80·ee47·3821·82d5·cbbc··...U.....G8!.... | |||
| 000008a0:·6005·748a·4167·528b·e6ca·2dba·ef0f·e61c··`.t.AgR...-..... | |||
| 000008b0:·afd6·37fc·488c·5376·37a2·fb94·54d0·a452··..7.H.Sv7...T..R | |||
| 000008c0:·5ab4·74d7·d2dd·da2a·313a·6374·2a71·6531··Z.t....*1:ct*qe1 | |||
| 000008d0:·ff2c·d11d·67ad·74a7·22c2·0a05·ba53·59a2··.,..g.t."....SY. | |||
| 000008e0:·fb04·ba97·4674·6f22·0930·5ea2·ba13·31eb··....Fto".0^...1. | |||
| 000008f0:·ee42·f7a3·ae02·5057·70d9·b204·9d38·3a67··.B....PWp....8:g | |||
| 00000900:·68d1·5ca9·80ee·7b00·732a·651c·6270·d406··h.\...{.s*e.bp.. | |||
| 00000910:·50ea·6ed4·9d5c·ea5e·5a0b·34a9·94d5·ddad··P.n..\.^Z.4..... | |||
| 00000920:·d5dd·7577·6b79·d032·de2c·e34d·2419·aca3··..uwky.2.,.M$... | |||
| 00000930:·38ab·e3d5·31b0·9261·788f·6a8f·1aba·f788··8...1..ax.j..... | |||
| 00000940:·75a7·1a62·e2eb·5ed4·d5d0·3da9·7b69·d49d··u..b..^...=.{i.. | |||
| 00000950:·0249·c024·a2ee·43dd·cb97·2da1·3bd5·3c99··.I.$..C...-.;.<. | |||
| 00000960:·f972·09a1·4e89·51d1·0f9d·3de8·94a1·fb16··.r..N.Q...=..... | |||
| 00000970:·c09c·2188·35ce·f8fb·48dc·c384·ee60·cce7··..!.5...H....`.. | |||
| 00000980:·7427·7440·74ba·5b9d·4ea7·bb4e·776b·73de··t't@t.[.N..Nwks. | |||
| 00000990:·bcc1·9b46·2d9a·abe1·cd1a·de3c·f2a4·f178··...F-......<...x | |||
| 000009a0:·9b2e·095b·5265·19ac·190c·996c·b766·b092··...[Re.....l.f.. | |||
| 000009b0:·b826·914b·ea1d·ef92·53dd·b924·761a·ef92··.&.K....S..$v... | |||
| 000009c0:·166b·120e·b903·cb51·2f4d·34aa·b5da·f08c··.k.....Q/M4..... | |||
| 000009d0:·17cf·70c5·c141·04ca·51c1·4a82·5576·c95a··..p..A..Q.J.Uv.Z | |||
| Max diff block lines reached; -1/44515 bytes (-0.00%) of diff not shown. | |||
| Offset 63, 351 lines modified | Offset 63, 352 lines modified | ||
| 000003e0:·5374·646c·6962·9030·cfc6·abca·663b·2d71··Stdlib.0....f;-q | 000003e0:·5374·646c·6962·9030·cfc6·abca·663b·2d71··Stdlib.0....f;-q | ||
| 000003f0:·db17·50a2·c051·cf6e·a0a0·3843·616d·6c69··..P..Q.n..8Camli | 000003f0:·db17·50a2·c051·cf6e·a0a0·3843·616d·6c69··..P..Q.n..8Camli | ||
| 00000400:·6e74·6572·6e61·6c46·6f72·6d61·7442·6173··nternalFormatBas | 00000400:·6e74·6572·6e61·6c46·6f72·6d61·7442·6173··nternalFormatBas | ||
| 00000410:·6963·7390·30aa·550b·dab5·21d6·0e76·9a9a··ics.0.U...!..v.. | 00000410:·6963·7390·30aa·550b·dab5·21d6·0e76·9a9a··ics.0.U...!..v.. | ||
| 00000420:·d43a·677e·6540·8495·a6be·0000·0004·0000··.:g~e@.......... | 00000420:·d43a·677e·6540·8495·a6be·0000·0004·0000··.:g~e@.......... | ||
| 00000430:·0002·0000·0005·0000·0005·a090·4040·4361··............@@Ca | 00000430:·0002·0000·0005·0000·0005·a090·4040·4361··............@@Ca | ||
| 00000440:·6d6c·3139·3939·5430·3335·8495·a6bd·0faa··ml1999T035...... | 00000440:·6d6c·3139·3939·5430·3335·8495·a6bd·0faa··ml1999T035...... | ||
| 00000450:· | 00000450:·7bec·1595·16d3·0ed1·7d28·b52f·fd00·5895··{.......}(./..X. | ||
| 00000460:·ab00·ca0f·9539·5410·206a·d5a4·0331·80fc··.....9T.·j...1.. | |||
| 00000470:·cf39·203a·7ccd·8013·3c1a·9503·032c·6075··.9·:|...<....,`u | |||
| 00000480:·d3ce·fe24·a763·8186·21fd·3503·3374·f69b··...$.c..!.5.3t.. | |||
| 00000490:·63b1·0659·4124·a198·a143·ea9b·7640·aaf3··c..YA$...C..v@.. | |||
| 000004a0:·c00c·854c·54db·8224·3181·eb7d·bc48·034b··...LT..$1..}.H.K | |||
| 000004b0:·7ece·84e0·4308·2169·932d·49a0·0378·0372··~...C.!i.-I..x.r | |||
| 000004c0:·035b·d0a5·17f5·686e·d4e3·40fd·de69·b051··.[....hn..@..i.Q | |||
| 000004d0:·8fc5·5aa3·9e46·7d7e·516f·0682·244c·1fba··..Z..F}~Qo..$L.. | |||
| 000004e0:·14d6·bf3e·cf2e·9ffe·0cfd·1ffa·337c·75c6··...>........3|u. | |||
| 000004f0:·055d·6af2·397d·e852·162c·e8d2·147d·0c41··.]j.9}.R.,...}.A | |||
| 00000500:·37da·a73f·a7ef·c4ac·2daf·aa4a·4909·1bfa··7..?....-..JI... | |||
| 00000510:·b639·7d19·8ee8·e335·fd5e·0f65·ecf4·b10f··.9}....5.^.e.... | |||
| 00000520:·7d23·fa75·fa79·4e7f·3744·5795·2aa5·38fd··}#.u.yN.7DW.*.8. | |||
| 00000530:·1efa·7976·c5f4·477b·64f3·25c3·8316·5695··..yv..G{d.%...V. | |||
| 00000540:·92ee·ac52·1abb·54a6·5429·c5b0·62d9·4c1f··...R..T.T)..b.L. | |||
| 00000550:·3fd0·8d1b·d337·b2f7·5260·713f·df7b·dbf2··?....7..R`q?.{.. | |||
| 00000560:·ee6d·a13f·762f·05d6·c9c8·c6a0·421f·cbb0··.m.?v/......B... | |||
| 00000570:·3d1e·361b·d931·5ffa·d887·c561·62f7·5e2f··=.6..1_....ab.^/ | |||
| 00000580:·fd14·fad9·c88a·799b·d08f·82d2·61d3·de18··......y.....a... | |||
| 00000590:·beb7·87e5·61f3·ec3a·290a·434d·a7a1·b0ab··....a..:).CM.... | |||
| 000005a0:·1b0e·0b8d·2a0a·4bad·5031·4bae·1a4a·03c3··....*.K.P1K..J.. | |||
| 000005b0:·aa95·395c·8db6·6464·b795·452b·715f·5867··..9\..dd..E+q_Xg | |||
| 000005c0:·17ad·b472·d3e5·be6c·658e·8655·9ab7·ac12··...r...le..U.... | |||
| 000005d0:·cb94·32b2·a351·e5ce·5cae·f4b1·9b0a·e1bc··..2..Q..\....... | |||
| 000005e0:·d1b0·4a2e·db89·bba2·e9c0·a28e·764e·40b8··..J.........vN@. | |||
| 000005f0:·72e2·b272·a595·93c6·65ab·a151·47bb·2452··r..r....e..QG.$R | |||
| 00000600:·60b9·b3ab·eca2·659d·34f4·cb89·6c27·800f··`.....e.4...l'.. | |||
| 00000610:·b0cc·af33·8b86·9e4f·3e76·4168·b68f·0759··...3...O>vAh...Y | |||
| 00000620:·1c26·1665·cb86·d69a·c876·3da4·a066·d9f5··.&.e.....v=..f.. | |||
| 00000630:·a595·abd1·b06e·b89a·15d3·2969·87c1·208b··.....n....)i..·. | |||
| 00000640:·d3ab·859d·42c2·6367·a3aa·c4dd·b268·5927··....B.cg.....hY' | |||
| 00000650:·0dcb·6c02·b27b·a00f·a39f·5e2d·acd5·992b··..l..{....^-...+ | |||
| 00000660:·b3d0·c0ae·6e56·6e4c·493b·4153·b6ca·9ab9··....nVnLI;AS.... | |||
| 00000670:·1245·6b5e·345c·2d57·a237·1ccd·3c69·66ae··.Ek^4\-W.7..<if. | |||
| 00000680:·76e5·08d7·55b3·9d00·c019·57d9·d9bd·54b6··v...U.....W...T. | |||
| 00000690:·8faf·0e25·7dc2·c470·7a75·36fd·86be·6f9c··...%}..pzu6...o. | |||
| 000006a0:·52e6·be70·b75a·160d·cd95·3add·ec68·3705··R..p.Z....:..h7. | |||
| 000006b0:·209b·8f1e·4248·d09b·f9b5·63e7·6749·57a2···...BH....c.gIW. | |||
| 000006c0:·6057·443b·279e·6899·b71c·aa2b·da11·a1c4··`WD;'.h....+.... | |||
| 000006d0:·98c5·a956·d975·46ed·d8e9·c178·b24a·f37c··...V.uF....x.J.| | |||
| 000006e0:·da21·8589·79de·50af·b368·1781·26a8·792b··.!..y.P..h..&.y+ | |||
| 000006f0:·addc·d09a·e963·17c1·bd3b·d8b0·286b·2c9e··.....c...;..(k,. | |||
| 00000700:·61d3·9e18·5e63·715a·1a31·22b4·d383·6dc0··a...^cqZ.1"...m. | |||
| 00000710:·0ac1·4a68·a707·9399·dda8·19d6·0154·b30b··..Jh.........T.. | |||
| 00000720:·050a·a581·65a9·e18a·7631·38d1·8048·181b··....e...v18..H.. | |||
| 00000730:·76ef·5306·4250·f346·b413·b261·77a6·c3b2··v.S.BP.F...aw... | |||
| 00000740:·60c3·ee8d·fab1·5381·09ad·9db8·2ca2·dd17··`.....S.....,... | |||
| 00000750:·1b76·2f94·dc89·dabe·72a8·ce3c·6d34·f3bc··.v/.....r..<m4.. | |||
| 00000760:·e9cc·12c5·520e·d98d·a084·95f0·a5c2·26be··....R.........&. | |||
| 00000770:·b329·ab74·9f40·3999·e70d·ad7d·9937·d43c··.).t.@9....}.7.< | |||
| 00000780:·6d46·3b2c·b3eb·c483·acac·7268·87da·b07b··mF;,......rh...{ | |||
| 00000790:·9398·58ca·a19d·d794·55ca·d5b6·6c3b·7634··..X.....U...l;v4 | |||
| 000007a0:·1b76·67f7·ded9·bd5c·57e5·570e·ddb1·d383··.vg....\W.W..... | |||
| 000007b0:·4b1b·76ab·ecbd·69ad·d4e1·6a59·443b·3d98··K.v...i...jYD;=. | |||
| 000007c0:·ccbd·4db8·f3bc·dab1·8362·c3ee·bd33·2b3b··..M......b...3+; | |||
| 000007d0:·e8bb·9756·9aa7·492b·12cb·f7de·8baf·08f8··...V..I+........ | |||
| 000007e0:·ce6e·3abb·4dc4·f077·e4fb·4625·60b5·5cae··.n:.M..w..F%`.\. | |||
| 000007f0:·46b4·bb3c·1e1b·3633·a041·7365·f65e·fc09··F..<..63.Ase.^.. | |||
| 00000800:·f9be·31cc·fb7e·7b2e·f07a·d39b·c3f6·c4ee··..1..~{..z...... | |||
| 00000810:·6da2·c4bc·0da5·7886·9ab7·a15d·da1b·c361··m.....x....]...a | |||
| 00000820:·63f8·5249·e514·2f41·7537·dc8e·5dda·1bbb··c.RI../Au7..]... | |||
| 00000830:·48ee·2c86·1563·bab3·1bae·ebe8·0be9·ea86··H.,..c.......... | |||
| 00000840:·b30d·11cb·a4c5·0e74·7fe1·84b0·05d2·8c73··.......t.......s | |||
| 00000850:·5889·bbaa·a125·d669·bb99·5246·dfd2·f78d··X....%.i..RF.... | |||
| 00000860:·018f·62c9·8f87·fede·9027·92fc·b8c8·91fc··..b......'...... | |||
| 00000870:·4d7f·36f2·3b71·4520·0091·7fc8·67fc·47d8··M.6.;qE·....g.G. | |||
| 00000880:·0bea·9374·302b·0818·21e7·d58d·eb76·82e3··...t0+..!....v.. | |||
| 00000890:·c738·ba75·11fc·58d8·4bf0·e77b·9bb4·e541··.8.u..X.K..{...A | |||
| 000008a0:·81f1·8fdd·fb84·bd15·16f6·7cc4·1f37·61df··..........|..7a. | |||
| 000008b0:·b3c2·ea01·7f1c·a8fe·fd67·2cec·9be0·a2bc··.........g,..... | |||
| 000008c0:·0264·6f45·11f6·2ad8·f798·9882·0602·97d6··.doE..*......... | |||
| 000008d0:·0752·baa1·743f·e5b1·c737·bab3·e8d8·b3b1··.R..t?...7...... | |||
| 000008e0:·1f63·d296·b701·1031·d8cf·d8d8·2fe1·833d··.c.....1..../..= | |||
| 000008f0:·7ec1·be97·2609·38f6·78cd·1b7b·37f6·998d··~...&.8.x..{7... | |||
| 00000900:·3d12·6d96·78a0·c63e·4d17·7b27·f6e7·04cc··=.m.x..>M.{'.... | |||
| 00000910:·3429·3d69·1280·0eba·37e8·6eb2·823d·aea0··4)=i....7.n..=.. | |||
| 00000920:·db66·43c1·deb4·57c0·92b6·bc0b·4808·c19e··.fC...W.....H... | |||
| 00000930:·8769·9f47·047b·3c65·dfbb·e1d1·628f·b9b2··.i.G.{<e....b... | |||
| 00000940:·d883·d967·d35e·0268·90a3·2af6·3724·f60d··...g.^.h..*.7$.. | |||
| 00000950:·d803·b177·b080·f428·2264·8750·f705·dd4c··...w...("d.P...L | |||
| 00000960:·a0ec·3105·dd5e·49ec·7fd8·7ba0·a42d·cf5e··..1..^I...{..-.^ | |||
| 00000970:·fb18·f987·bd9d·23f6·3802·fb1e·519d·22f6··......#.8...Q.". | |||
| 00000980:·9887·2562·3fc4·3eff·b01f·4bb2·2141·913d··..%b?.>...K.!A.= | |||
| 00000990:·91ad·f63f·808f·828e·0c07·2ca0·e0c5·d86d··...?......,....m | |||
| 000009a0:·bb97·c0b0·c713·74e3·407b·28c0·5bfb·7caf··......t.@{(.[.|. | |||
| 000009b0:·535b·9e14·5c48·007c·2028·c017·2108·3ca6··S[..\H.|·(..!.<. | |||
| 000009c0:·03be·b767·8840·e071·1f40·e0ad·009f·a100··...g.@.q.@...... | |||
| 000009d0:·2fc4·1419·c000·1ff0·7bde·803f·00f8·5d10··/.......{..?..]. | |||
| 000009e0:·4a08·faae·007b·9005·fe7c·2dc5·d74a·8000··J....{...|-..J.. | |||
| 000009f0:·8f6d·74eb·b2c0·014f·06bc·9807·6d79·636d··.mt....O....mycm | |||
| 00000a00:·1600·7e02·64c0·47a0·071e·a300·be17·e687··..~.d.G......... | |||
| 00000a10:·35e0·f118·35e0·d380·cf64·c0cf·31d3·478f··5...5....d..1.G. | |||
| 00000a20:·18f0·61b2·8017·0078·1a04·5a58·0209·0a3c··..a....x..ZX...< | |||
| 00000a30:·81e7·ced7·635f·3b91·001e·d7e8·3eb5·809f··....c_;.....>... | |||
| 00000a40:·029e·0049·daf2·6e40·9b80·8733·05bc·9c13··...I..n@...3.... | |||
| 00000a50:·3c4e·02be·4715·870b·3cb6·aa02·fe06·3e4f··<N..G...<.....>O | |||
| 00000a60:·01df·0356·04e6·5481·a722·027e·8bfa·1ba0··...V..T..".~.... | |||
| 00000a70:·5814·1fc4·e808·c183·0e5f·dff0·b507·173c··X........_.....< | |||
| 00000a80:·a6d1·8d2b·02be·02f0·1b80·cff7·2269·cb83··...+........"i.. | |||
| 00000a90:·2109·fcd8·bd24·7807·5400·1e0e·10f0·1804··!....$x.T....... | |||
| 00000aa0:·dfa3·e186·0778·6c03·2c02·4f04·3e57·009e··.....xl.,.O.>W.. | |||
| 00000ab0:·871c·6b1e·5003·3c0d·1050·3d0e·f547·ec00··..k.P.<..P=..G.. | |||
| 00000ac0:·0148·830c·36f0·c8e0·af61·f83a·0917·f558··.H..6....a.:...X | |||
| 00000ad0:·826e·2c33·503d·9efa·2b9a·daf2·0c30·0504··.n,3P=..+....0.. | |||
| 00000ae0:·ea51·c053·af43·14f5·184e·7daf·4e9b·3ef5··.Q.S.C...N}.N.>. | |||
| 00000af0:·d80e·9ffa·3df5·194f·3d0e·4a30·20cc·88fa··....=..O=.J0·... | |||
| 00000b00:·3a6a·ea75·f52a·dc30·c417·05bc·c082·0925··:j.u.*.0.......% | |||
| 00000b10:·7c6d·80af·91b4·a9c7·1174·976b·eac3·ea33··|m.......t.k...3 | |||
| 00000b20:·535b·ded6·b7f5·3599·19a1·7e00·dfd6·d714··S[....5...~..... | |||
| 00000b30:·566f·c3ae·1e6b·a9ef·a5d0·1b53·8fbf·88a9··Vo...k.....S.... | |||
| 00000b40:·0f53·9fc3·ead9·b4a0·05cb·b7f5·3579·a94f··.S..........5y.O | |||
| 00000b50:·a14a·3d52·bd13·9e09·5f5f·eedb·fa9a·46f8··.J=R....__....F. | |||
| 00000b60:·7acb·b7f5·3599·b86f·eb6b·42eb·f18c·6e1b··z...5..o.kB...n. | |||
| 00000b70:·57fd·533d·6ea9·2def·e97b·fa98·b0ea·c7ee··W.S=n.-..{...... | |||
| 00000b80:·0540·fdd4·f7f4·313d·d567·5a3d·2e52·df73··.@....1=.gZ=.R.s | |||
| 00000b90:·5263·558f·9754·d553·d5e7·a7fa·3451·6a53··RcU..T.S....4QjS | |||
| 00000ba0:·bea7·8f49·49bd·5351·7d05·fa0d·d407·3059··...II.SQ}.....0Y | |||
| 00000bb0:·7df0·3d7d·4c5a·b6ef·e963·8a02·e57b·fa98··}.=}LZ...c...{.. | |||
| 00000bc0:·92ea·b18c·6eb3·8b47·fd8b·fa1e·f5f9·5ea5··....n..G......^. | |||
| Max diff block lines reached; -1/48023 bytes (-0.00%) of diff not shown. | |||
| Offset 104, 467 lines modified | Offset 104, 466 lines modified | ||
| 00000670:·5374·646c·6962·9030·cfc6·abca·663b·2d71··Stdlib.0....f;-q | 00000670:·5374·646c·6962·9030·cfc6·abca·663b·2d71··Stdlib.0....f;-q | ||
| 00000680:·db17·50a2·c051·cf6e·a0a0·3843·616d·6c69··..P..Q.n..8Camli | 00000680:·db17·50a2·c051·cf6e·a0a0·3843·616d·6c69··..P..Q.n..8Camli | ||
| 00000690:·6e74·6572·6e61·6c46·6f72·6d61·7442·6173··nternalFormatBas | 00000690:·6e74·6572·6e61·6c46·6f72·6d61·7442·6173··nternalFormatBas | ||
| 000006a0:·6963·7390·30aa·550b·dab5·21d6·0e76·9a9a··ics.0.U...!..v.. | 000006a0:·6963·7390·30aa·550b·dab5·21d6·0e76·9a9a··ics.0.U...!..v.. | ||
| 000006b0:·d43a·677e·6540·8495·a6be·0000·0004·0000··.:g~e@.......... | 000006b0:·d43a·677e·6540·8495·a6be·0000·0004·0000··.:g~e@.......... | ||
| 000006c0:·0002·0000·0005·0000·0005·a090·4040·4361··............@@Ca | 000006c0:·0002·0000·0005·0000·0005·a090·4040·4361··............@@Ca | Diff chunk too large, falling back to line-by-line diff (459 lines added, 460 lines removed) | |
| 000006d0:·6d6c·3139·3939·5430·3335·8495·a6bd·10b9··ml1999T035...... | 000006d0:·6d6c·3139·3939·5430·3335·8495·a6bd·10b9··ml1999T035...... | ||
| 000006e0:·2 | 000006e0:·2181·8b52·9644·de44·da60·28b5·2ffd·0058··!..R.D.D.`(./..X | ||
| 000006f0:· | 000006f0:·c5e4·00ca·6c7d·4c53·1028·6a6d·d301·8022··....l}LS.(jm..." | ||
| 00000700:· | 00000700:·6e2c·e27e·65b7·09bc·7d8f·7c67·7716·78d5··n,.~e...}.|gw.x. | ||
| 00000710:· | 00000710:·2200·6e38·c108·ce3c·3283·7f1c·0273·a586··".n8...<2....s.. | ||
| 00000720:·4 | 00000720:·485f·531c·1b29·36e9·4ed4·faad·5e9d·c58b··H_S..)6.N...^... | ||
| 00000730:· | 00000730:·603a·a824·c6e2·9d82·a480·7110·7971·2831··`:.$......q.yq(1 | ||
| 00000740:·6 | 00000740:·6f9c·dddd·1589·08c9·252d·6dc0·04a3·04ac··o.......%-m..... | ||
| 00000750:·04 | 00000750:·04db·816c·67f0·05f1·2dd8·7638·176d·b743··...lg...-.v8.m.C | ||
| 00000760:· | 00000760:·ebfe·ecd5·6b85·55ed·d47a·566b·be1a·9609··....k.U..zVk.... | ||
| 00000770:· | 00000770:·596e·5259·da9a·c1f6·2b00·e631·15c7·b3d5··YnRY....+..1.... | ||
| 00000780:· | 00000780:·e30a·5241·f004·3f0f·ff0b·3eb7·a1a1·84ed··..RA..?...>..... | ||
| 00000790:· | 00000790:·acdb·6eb7·dbbb·99e8·c132·1ccb·2818·21c4··..n......2..(.!. | ||
| 000007a0:· | 000007a0:·d7c3·e709·cb4d·5866·a92c·6d1d·c4bf·4a01··.....MXf.,m...J. | ||
| 000007b0:· | 000007b0:·604e·75f4·69c3·cf81·9fc3·ceaa·e0b3·f2e3··`Nu.i........... | ||
| 000007c0:· | 000007c0:·87ef·87df·8d03·6a79·8ce5·2e2a·4b5b·cf91··......jy...*K[.. | ||
| 000007d0:· | 000007d0:·8c19·a623·1aae·4212·e0f0·d7db·7bf8·6c56··...#..B.....{.lV | ||
| 000007e0:· | 000007e0:·3cf0·dff0·6039·07cb·06d0·c3bf·4a28·604e··<...`9......J(`N | ||
| 000007f0:· | 000007f0:·47d4·0d7f·5d75·0edb·42f0·e3f0·ef7a·2fbf··G...]u..B....z/. | ||
| 00000800:· | 00000800:·57dd·dd6c·67dd·74e8·f0e9·f0bb·5d46·2c17··W..lg.t.....]F,. | ||
| 00000810:· | 00000810:·b1bc·4565·696b·4986·e818·becc·7074·824a··..EeikI.....pt.J | ||
| 00000820:· | 00000820:·c311·0c96·d007·d832·5d40·ee7a·7b07·fe17··.......2]@.z{... | ||
| 00000830:· | 00000830:·b5db·8459·1e2d·7351·59da·ba86·7f57·3698··...Y.-sQY....W6. | ||
| 00000840:· | 00000840:·53d8·4834·4b75·904a·7d77·e566·bd6b·9a9a··S.H4Ku.J}w.f.k.. | ||
| 00000850:· | 00000850:·da4b·6c67·8db4·c3f2·0dcb·5a54·96b6·c2c0··.Klg......ZT.... | ||
| 00000860:· | 00000860:·bf4b·2e60·fe42·3259·0932·fb93·c37a·cff0··.K.`.B2Y.2...z.. | ||
| 00000870:· | 00000870:·31b0·67f8·dd67·f867·f8dd·1658·1e80·652c··1.g..g.g...X..e, | ||
| 00000880:· | 00000880:·2a4b·0bb4·71a0·8da7·a82c·6d1d·426a·91e7··*K..q....,m.Bj.. | ||
| 00000890:· | 00000890:·588e·5fc2·f134·63e1·e812·63e1·d8e4·823d··X._..4c...c....= | ||
| 000008a0:· | 000008a0:·99ad·1025·c160·41c5·306d·8d61·9acc·3045··...%.`A.0m.a..0E | ||
| 000008b0:· | 000008b0:·4718·4c8c·a15f·4a12·354d·30ad·d37c·85a5··G.L.._J.5M0..|.. | ||
| 000008c0:· | 000008c0:·8992·a788·fa18·c990·a848·e61c·ad84·23fa··.........H....#. | ||
| 000008d0:· | 000008d0:·148e·65c2·b41c·6366·ec34·5f21·1231·35a9··..e...cf.4_!.15. | ||
| 000008e0:· | 000008e0:·0c21·8de7·5338·8249·c796·0873·3a2a·c910··.!..S8.I...s:*.. | ||
| 000008f0:· | 000008f0:·1dc9·17e9·3263·a189·c2c4·3004·d312·9984··....2c....0..... | ||
| 00000900:·4 | 00000900:·4823·1974·3c9d·c633·8489·2db2·344b·b115··H#.t<..3..-.4K.. | ||
| 00000910:· | 00000910:·8661·3824·862f·3374·7a12·639a·b010·4c4b··.a8$./3tz.c...LK | ||
| 00000920:· | 00000920:·1cc3·540c·a160·ae11·45c7·d329·66b6·c2f1··..T..`..E..)f... | ||
| 00000930:· | 00000930:·1443·144c·2a5a·0981·702a·3534·6441·7bc3··.C.L*Z..p*54dA{. | ||
| 00000940:·a | 00000940:·aeba·4a8f·a8b4·5c22·8a6a·2261·ae94·a947··..J...\".j"a...G | ||
| 00000950:· | 00000950:·943a·a650·8e62·c494·05e5·12c7·1326·b294··.:.P.b.......&.. | ||
| 00000960:· | 00000960:·90c8·4c78·b146·d893·cb8c·b146·3224·7a3e··..Lx.F.....F2$z> | ||
| 00000970:· | 00000970:·b5c6·93e5·1a4b·f235·baca·2c48·6454·b89c··.....K.5..,HdT.. | ||
| 00000980:· | 00000980:·e679·8e40·644d·bc98·24cb·358a·6999·b026··.y.@dM..$.5.i..& | ||
| 00000990:· | 00000990:·160a·c584·241b·c100·654c·d8eb·1cc9·982c··....$...eL....., | ||
| 000009a0:· | 000009a0:·312d·3165·4292·15c9·0275·9ab1·31c6·7a99··1-1eB....u..1.z. | ||
| 000009b0:· | 000009b0:·acf4·a9ca·910c·698b·ab7c·325f·acd4·a402··......i..|2_.... | ||
| 000009c0:· | 000009c0:·4416·f259·65d8·eb01·7ba3·6858·c0b4·5271··D..Ye...{.hX..Rq | ||
| 000009d0:·c | 000009d0:·ca91·ec02·2d69·39c6·9ebe·9c22·cb45·c244··....-i9....".E.D | ||
| 000009e0:· | 000009e0:·32e5·9210·990d·be07·ec55·db0b·6b42·131f··2........U..kB.. | ||
| 000009f0:· | 000009f0:·b28e·7fc2·0823·5fac·97c9·7295·4c3a·908d··.....#_...r.L:.. | ||
| 00000a00:· | 00000a00:·400d·abb6·17b6·8b79·8e2a·b0a0·9a48·32e4··@......y.*...H2. | ||
| 00000a10:· | 00000a10:·1221·b240·4cec·902d·cf31·4d45·2716·4c3c··.!.@L..-.1ME'.L< | ||
| 00000a20:· | 00000a20:·c794·84b1·4a93·559e·6299·02dc·f50e·d955··....J.U.b......U | ||
| 00000a30:· | 00000a30:·3797·32ec·ed16·a048·1145·bb6a·a360·d514··7.2....H.E.j.`.. | ||
| 00000a40:· | 00000a40:·512a·f5a1·309e·4f30·527c·b1d2·7344·d115··Q*..0.O0R|..sD.. | ||
| 00000a50:· | 00000a50:·92ec·0a40·2d20·3f76·3449·c9f2·a948·a601··...@-·?v4I...H.. | ||
| 00000a60:· | 00000a60:·2574·4ca1·9a78·c8a6·28e1·4b49·9e29·da43··%tL..x..(.KI.).C | ||
| 00000a70:· | 00000a70:·86c4·134a·d8ab·7e19·6326·5391·eccf·cdf3··...J..~.c&S..... | ||
| 00000a80:· | 00000a80:·1a4b·934a·9116·29a5·49a6·4e66·0f59·1153··.K.J..).I.Nf.Y.S | ||
| 00000a90:· | 00000a90:·d292·2c81·c820·d02d·c746·61e9·36f6·b2b1··..,..·.-.Fa.6... | ||
| 00000aa0:· | 00000aa0:·aa1d·da6d·63af·3a22·41b2·43f6·e7c2·7179··...mc.:"A.C...qy | ||
| 00000ab0:· | 00000ab0:·e9b2·43f6·e7be·5935·5394·1425·6145·b228··..C...Y5S..%aE.( | ||
| 00000ac0:· | 00000ac0:·2eab·be62·2565·41a9·20c2·7ac8·d054·2152··...b%eA.·.z..T!R | ||
| 00000ad0:· | 00000ad0:·2406·2a1f·0c49·4b92·87cc·051b·d5ab·555a··$.*..IK.......UZ | ||
| 00000ae0:· | 00000ae0:·9244·b205·d8a8·6e26·23d9·0a4b·52d1·84bd··.D....n&#..KR... | ||
| 00000af0:· | 00000af0:·78c8·54b0·51dd·574e·336d·3d9d·295a·9a2d··x.T.Q.WN3m=.)Z.- | ||
| 00000b00:· | 00000b00:·5669·9268·39a6·6646·1064·3025·57c9·6d2e··Vi.h9.fF.d0%W.m. | ||
| 00000b10:· | 00000b10:·b7bc·bd62·6295·7409·5696·9e4a·322d·cd56··...bb.t.V..J2-.V | ||
| 00000b20:· | 00000b20:·1059·6bd5·559e·bc5e·2391·8c65·a3ba·9d94··.Yk.U..^#..e.... | ||
| 00000b30:· | 00000b30:·6646·2259·1726·56c9·2982·6915·c9a0·d8a8··fF"Y.&V.).i..... | ||
| 00000b40:· | 00000b40:·5ef5·aa5b·4bd3·f874·a645·b23f·d78a·8d52··^..[K..t.E.?...R | ||
| 00000b50:· | 00000b50:·c511·8589·2f1e·b23f·f74d·3713·9869·3615··..../..?.M7..i6. | ||
| 00000b60:·c9 | 00000b60:·c9da·4675·f790·edee·becd·c2ed·55ab·ab9e··..Fu........U... | ||
| 00000b70:·d | 00000b70:·d229·4084·beb5·4abb·a924·a9d4·0705·4a3c··.)@...J..$....J< | ||
| 00000b80:· | 00000b80:·4f91·87ac·67b3·3a75·7c00·0288·cec0·76df··O...g.:u|.....v. | ||
| 00000b90:· | 00000b90:·d490·54ea·bb61·fb86·edee·1bf6·86ed·e642··..T..a.........B | ||
| 00000ba0:·6 | 00000ba0:·6569·7036·86b3·7114·1216·437a·4a6a·2261··eip6..q...CzJj"a | ||
| 00000bb0:· | 00000bb0:·ad0f·686b·e82a·c926·47a1·4892·09d1·d224··..hk.*.&G.H....$ | ||
| 00000bc0:· | 00000bc0:·5332·3d45·a7f0·6586·a549·a662·5a8e·b111··S2=E..e..I.bZ... | ||
| 00000bd0:· | 00000bd0:·e614·23c3·910c·998a·e7e8·1423·c372·1526··..#........#.r.& | ||
| 00000be0:· | 00000be0:·01eb·dc34·b47b·afba·92c0·ae91·ea66·8da5··...4.{.......f.. | ||
| 00000bf0:· | 00000bf0:·59b2·7ad0·d6d4·cc98·22c1·6262·cb34·ba6b··Y.z.....".bb.4.k | ||
| 00000c00:· | 00000c00:·9bf5·ae51·ae92·7c95·2659·6601·9252·4aa5··...Q..|.&Yf..RJ. | ||
| 00000c10:· | 00000c10:·be29·95a5·15e1·7111·1e43·39d9·ab7f·9a95··.)....q..C9..... | ||
| 00000c20:·9 | 00000c20:·967f·95e1·27e1·5fef·7ad7·8be7·f60c·7f96··....'._.z....... | ||
| 00000c30:· | 00000c30:·9f86·2a6c·671c·38e0·af19·f169·c03f·8e79··..*lg.8....i.?.y | ||
| 00000c40:· | 00000c40:·4201·3fca·c2bf·c21e·a825·7dfe·632c·0013··B.?......%}.c,.. | ||
| 00000c50:· | 00000c50:·2189·950a·88ff·9514·7ed6·bf66·f99d·38a1··!.......~..f..8. | ||
| 00000c60:· | 00000c60:·c807·25fc·568a·fc14·fc45·d713·05a9·031f··..%.V....E...... | ||
| 00000c70:·4 | 00000c70:·441f·6bf0·310b·ffd5·80f9·1c53·b228·849f··D.k.1......S.(.. | ||
| 00000c80:· | 00000c80:·e837·4285·edcc·eb21·7f6d·833c·497f·78a4··.7B....!.m.<I.x. | ||
| 00000c90:· | 00000c90:·ffe8·5f89·fe26·7ee4·c0c1·c1bf·c1bb·bf8f··.._..&~......... | ||
| 00000ca0:· | 00000ca0:·fd16·4ce0·3801·2c10·8004·1fff·e315·5496··..L.8.,.......T. | ||
| 00000cb0:· | 00000cb0:·b606·e0bf·3998·c71e·de0f·c8fe·fbd7·ee29··....9..........) | ||
| 00000cc0:· | 00000cc0:·6c67·6378·dc5f·c362·89d4·af05·9e10·d893··lgcx._.b........ | ||
| 00000cd0:· | 00000cd0:·a186·7d21·1a21·fb71·9f07·ecc7·b05f·01d9··..}!.!.q....._.. | ||
| 00000ce0:· | 00000ce0:·2be1·c51a·23c8·c21e·8b26·ec77·b0af·63bf··+...#....&.w..c. | ||
| 00000cf0:· | 00000cf0:·5240·0385·d238·6390·c761·789c·0028·ec6f··R@...8c..ax..(.o | ||
| 00000d00:· | 00000d00:·0679·ec67·f67a·a4b0·9d49·81c7·be16·4412··.y.g.z...I....D. | ||
| 00000d10:·4 | 00000d10:·49d8·0b61·91b0·3fc2·7e9d·d923·4104·185f··I..a..?.~..#A.._ | ||
| 00000d20:· | 00000d20:·8cf6·73ec·83b0·51f6·33d8·e360·3f3b·c207··..s...Q.3..`?;.. | ||
| 00000d30:· | 00000d30:·dbc5·1633·d80d·64c0·e39a·c708·6863·7f31··...3..d.....hc.1 | ||
| 00000d40:· | 00000d40:·4847·d897·9244·3b8d·bd0d·62ec·477b·27fb··HG...D;...b.G{'. | ||
| 00000d50:· | 00000d50:·590d·51d2·d83b·1105·1f8f·f378·7c00·1aec··Y.Q..;.....x|... | ||
| 00000d60:· | 00000d60:·6f13·1c61·ec63·f6eb·aad1·f0a9·d877·1a95··o..a.c.......w.. | ||
| 00000d70:·62 | 00000d70:·f602·3f87·bd03·b350·3a8c·3d05·9a60·c263··..?....P:.=..`.c | ||
| 00000d80:· | 00000d80:·243c·5641·6569·ebcb·fe32·5131·a73a·acb0··$<VAei...2Q1.:.. | ||
| 00000d90:· | 00000d90:·9df5·1033·8fe3·786c·4665·69ab·16fb·eb64··...3..xlFei....d | ||
| 00000da0:· | 00000da0:·0366·a674·642a·ea29·f655·ec57·0c6c·4fb1··.f.td*.).U.W.lO. | ||
| 00000db0:· | 00000db0:·bf21·f3f8·7a4c·4665·691e·8060·9f66·7506··.!..zLFei..`.fu. | ||
| 00000dc0:· | 00000dc0:·f7f5·027b·40dc·d7bb·def5·ae77·bdeb·edd5··...{@......w.... | ||
| 00000dd0:· | 00000dd0:·197c·414f·f0f3·acf0·dc56·d913·e25e·6471··.|AO.....V...^dq | ||
| 00000de0:· | 00000de0:·d8af·dd4f·d8ce·9a87·7d37·0f7b·1ef6·dd2b··...O....}7.{...+ | ||
| 00000df0:· | 00000df0:·34f1·7889·c768·5a8e·a599·96e3·39be·5ea4··4.x..hZ.....9.^. | ||
| 00000e00:· | 00000e00:·2b45·4929·e190·94fd·99b6·c0be·2688·3382··+EI)........&.3. | ||
| 00000e10:· | 00000e10:·02fb·0fa4·2620·81fd·2dc4·dd0e·eda0·fd4a··....&·..-......J | ||
| 00000e20:· | 00000e20:·88bb·04ac·5da3·e676·1b36·ea65·6307·7117··....]..v.6.ec.q. | ||
| 00000e30:· | 00000e30:·c429·c1dd·05ee·10e0·be12·1146·541a·342d··.).........FT.4- | ||
| 00000e40:· | 00000e40:·78cc·82c7·a9ca·d2d6·2db8·df1b·cc34·ee6c··x.......-....4.l | ||
| Max diff block lines reached; -1/63902 bytes (-0.00%) of diff not shown. | |||
| Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
| 1 | -rw-r--r--···0········0········0········4·2025-02-15·14:19:14.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2025-02-15·14:19:14.000000·debian-binary | 
| 2 | -rw-r--r--···0········0········0····630 | 2 | -rw-r--r--···0········0········0····63064·2025-02-15·14:19:14.000000·control.tar.xz | 
| 3 | -rw-r--r--···0········0········0·234673 | 3 | -rw-r--r--···0········0········0·23467396·2025-02-15·14:19:14.000000·data.tar.xz | 
| Offset 2419, 50 lines modified | Offset 2419, 50 lines modified | ||
| 2419 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-15·14:19:14.000000·./usr/share/doc/coq-theories/html/ | 2419 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-15·14:19:14.000000·./usr/share/doc/coq-theories/html/ | 
| 2420 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/ | 2420 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/ | 
| 2421 | -rw-r--r--···0·root·········(0)·root·········(0)·····1904·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/README.md.gz | 2421 | -rw-r--r--···0·root·········(0)·root·········(0)·····1904·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/README.md.gz | 
| 2422 | -rw-r--r--···0·root·········(0)·root·········(0)·····4580·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/changelog.Debian.gz | 2422 | -rw-r--r--···0·root·········(0)·root·········(0)·····4580·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/changelog.Debian.gz | 
| 2423 | -rw-r--r--···0·root·········(0)·root·········(0)·····8307·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/copyright | 2423 | -rw-r--r--···0·root·········(0)·root·········(0)·····8307·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/copyright | 
| 2424 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/ | 2424 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/ | 
| 2425 | -rw-r--r--···0·root·········(0)·root·········(0)·····3005·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Arith.html | 2425 | -rw-r--r--···0·root·········(0)·root·········(0)·····3005·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Arith.html | 
| 2426 | -rw-r--r--···0·root·········(0)·root·········(0)···10784 | 2426 | -rw-r--r--···0·root·········(0)·root·········(0)···107847·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Arith_base.html | 
| 2427 | -rw-r--r--···0·root·········(0)·root·········(0)····55999·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Between.html | 2427 | -rw-r--r--···0·root·········(0)·root·········(0)····55999·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Between.html | 
| 2428 | -rw-r--r--···0·root·········(0)·root·········(0)····15676·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Bool_nat.html | 2428 | -rw-r--r--···0·root·········(0)·root·········(0)····15676·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Bool_nat.html | 
| 2429 | -rw-r--r--···0·root·········(0)·root·········(0)····22063·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Cantor.html | 2429 | -rw-r--r--···0·root·········(0)·root·········(0)····22063·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Cantor.html | 
| 2430 | -rw-r--r--···0·root·········(0)·root·········(0)····13934·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare.html | 2430 | -rw-r--r--···0·root·········(0)·root·········(0)····13934·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare.html | 
| 2431 | -rw-r--r--···0·root·········(0)·root·········(0)····63890·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare_dec.html | 2431 | -rw-r--r--···0·root·········(0)·root·········(0)····63890·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare_dec.html | 
| 2432 | -rw-r--r--···0·root·········(0)·root·········(0)····1302 | 2432 | -rw-r--r--···0·root·········(0)·root·········(0)····13020·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.EqNat.html | 
| 2433 | -rw-r--r--···0·root·········(0)·root·········(0)····13946·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Euclid.html | 2433 | -rw-r--r--···0·root·········(0)·root·········(0)····13946·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Euclid.html | 
| 2434 | -rw-r--r--···0·root·········(0)·root·········(0)·····7289·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Factorial.html | 2434 | -rw-r--r--···0·root·········(0)·root·········(0)·····7289·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Factorial.html | 
| 2435 | -rw-r--r--···0·root·········(0)·root·········(0)···3595 | 2435 | -rw-r--r--···0·root·········(0)·root·········(0)···359565·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.PeanoNat.html | 
| 2436 | -rw-r--r--···0·root·········(0)·root·········(0)·····8974·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Peano_dec.html | 2436 | -rw-r--r--···0·root·········(0)·root·········(0)·····8974·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Peano_dec.html | 
| 2437 | -rw-r--r--···0·root·········(0)·root·········(0)····79061·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Wf_nat.html | 2437 | -rw-r--r--···0·root·········(0)·root·········(0)····79061·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Wf_nat.html | 
| 2438 | -rw-r--r--···0·root·········(0)·root·········(0)····40548·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Array.PArray.html | 2438 | -rw-r--r--···0·root·········(0)·root·········(0)····40548·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Array.PArray.html | 
| 2439 | -rw-r--r--···0·root·········(0)·root·········(0)···228730·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bool.html | 2439 | -rw-r--r--···0·root·········(0)·root·········(0)···228730·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bool.html | 
| 2440 | -rw-r--r--···0·root·········(0)·root·········(0)····16144·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolEq.html | 2440 | -rw-r--r--···0·root·········(0)·root·········(0)····16144·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolEq.html | 
| 2441 | -rw-r--r--···0·root·········(0)·root·········(0)····28687·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolOrder.html | 2441 | -rw-r--r--···0·root·········(0)·root·········(0)····28687·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolOrder.html | 
| 2442 | -rw-r--r--···0·root·········(0)·root·········(0)····34692·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bvector.html | 2442 | -rw-r--r--···0·root·········(0)·root·········(0)····34692·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bvector.html | 
| 2443 | -rw-r--r--···0·root·········(0)·root·········(0)····10524·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.DecBool.html | 2443 | -rw-r--r--···0·root·········(0)·root·········(0)····10524·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.DecBool.html | 
| 2444 | -rw-r--r--···0·root·········(0)·root·········(0)····14176·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.IfProp.html | 2444 | -rw-r--r--···0·root·········(0)·root·········(0)····14176·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.IfProp.html | 
| 2445 | -rw-r--r--···0·root·········(0)·root·········(0)····22507·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Sumbool.html | 2445 | -rw-r--r--···0·root·········(0)·root·········(0)····22507·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Sumbool.html | 
| 2446 | -rw-r--r--···0·root·········(0)·root·········(0)·····9445·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Zerob.html | 2446 | -rw-r--r--···0·root·········(0)·root·········(0)·····9445·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Zerob.html | 
| 2447 | -rw-r--r--···0·root·········(0)·root·········(0)····3329 | 2447 | -rw-r--r--···0·root·········(0)·root·········(0)····33295·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.CEquivalence.html | 
| 2448 | -rw-r--r--···0·root·········(0)·root·········(0)···15300 | 2448 | -rw-r--r--···0·root·········(0)·root·········(0)···153001·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.CMorphisms.html | 
| 2449 | -rw-r--r--···0·root·········(0)·root·········(0)····9525 | 2449 | -rw-r--r--···0·root·········(0)·root·········(0)····95251·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.CRelationClasses.html | 
| 2450 | -rw-r--r--···0·root·········(0)·root·········(0)····1469 | 2450 | -rw-r--r--···0·root·········(0)·root·········(0)····14694·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.DecidableClass.html | 
| 2451 | -rw-r--r--···0·root·········(0)·root·········(0)····41 | 2451 | -rw-r--r--···0·root·········(0)·root·········(0)····41299·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.EquivDec.html | 
| 2452 | -rw-r--r--···0·root·········(0)·root·········(0)····3325 | 2452 | -rw-r--r--···0·root·········(0)·root·········(0)····33253·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.Equivalence.html | 
| 2453 | -rw-r--r--···0·root·········(0)·root·········(0)·····690 | 2453 | -rw-r--r--···0·root·········(0)·root·········(0)·····6904·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.Init.html | 
| 2454 | -rw-r--r--···0·root·········(0)·root·········(0)···16174 | 2454 | -rw-r--r--···0·root·········(0)·root·········(0)···161743·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.Morphisms.html | 
| 2455 | -rw-r--r--···0·root·········(0)·root·········(0)····2601 | 2455 | -rw-r--r--···0·root·········(0)·root·········(0)····26015·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.Morphisms_Prop.html | 
| 2456 | -rw-r--r--···0·root·········(0)·root·········(0)····1502 | 2456 | -rw-r--r--···0·root·········(0)·root·········(0)····15022·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.Morphisms_Relations.html | 
| 2457 | -rw-r--r--···0·root·········(0)·root·········(0)···12966 | 2457 | -rw-r--r--···0·root·········(0)·root·········(0)···129664·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.RelationClasses.html | 
| 2458 | -rw-r--r--···0·root·········(0)·root·········(0)····6188 | 2458 | -rw-r--r--···0·root·········(0)·root·········(0)····61886·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.RelationPairs.html | 
| 2459 | -rw-r--r--···0·root·········(0)·root·········(0)····2748 | 2459 | -rw-r--r--···0·root·········(0)·root·········(0)····27484·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.SetoidClass.html | 
| 2460 | -rw-r--r--···0·root·········(0)·root·········(0)····3290 | 2460 | -rw-r--r--···0·root·········(0)·root·········(0)····32902·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.SetoidDec.html | 
| 2461 | -rw-r--r--···0·root·········(0)·root·········(0)····3342 | 2461 | -rw-r--r--···0·root·········(0)·root·········(0)····33424·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.SetoidTactics.html | 
| 2462 | -rw-r--r--···0·root·········(0)·root·········(0)·····3600·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.AdmitAxiom.html | 2462 | -rw-r--r--···0·root·········(0)·root·········(0)·····3600·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.AdmitAxiom.html | 
| 2463 | -rw-r--r--···0·root·········(0)·root·········(0)····36191·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq818.html | 2463 | -rw-r--r--···0·root·········(0)·root·········(0)····36191·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq818.html | 
| 2464 | -rw-r--r--···0·root·········(0)·root·········(0)·····2919·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq819.html | 2464 | -rw-r--r--···0·root·········(0)·root·········(0)·····2919·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq819.html | 
| 2465 | -rw-r--r--···0·root·········(0)·root·········(0)·····2701·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq820.html | 2465 | -rw-r--r--···0·root·········(0)·root·········(0)·····2701·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq820.html | 
| 2466 | -rw-r--r--···0·root·········(0)·root·········(0)···638817·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapAVL.html | 2466 | -rw-r--r--···0·root·········(0)·root·········(0)···638817·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapAVL.html | 
| 2467 | -rw-r--r--···0·root·········(0)·root·········(0)···491484·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapFacts.html | 2467 | -rw-r--r--···0·root·········(0)·root·········(0)···491484·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapFacts.html | 
| 2468 | -rw-r--r--···0·root·········(0)·root·········(0)···249549·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapFullAVL.html | 2468 | -rw-r--r--···0·root·········(0)·root·········(0)···249549·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapFullAVL.html | 
| Offset 2502, 21 lines modified | Offset 2502, 21 lines modified | ||
| 2502 | -rw-r--r--···0·root·········(0)·root·········(0)·····9933·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Number.html | 2502 | -rw-r--r--···0·root·········(0)·root·········(0)·····9933·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Number.html | 
| 2503 | -rw-r--r--···0·root·········(0)·root·········(0)····64638·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Peano.html | 2503 | -rw-r--r--···0·root·········(0)·root·········(0)····64638·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Peano.html | 
| 2504 | -rw-r--r--···0·root·········(0)·root·········(0)····12568·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Prelude.html | 2504 | -rw-r--r--···0·root·········(0)·root·········(0)····12568·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Prelude.html | 
| 2505 | -rw-r--r--···0·root·········(0)·root·········(0)···588062·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Specif.html | 2505 | -rw-r--r--···0·root·········(0)·root·········(0)···588062·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Specif.html | 
| 2506 | -rw-r--r--···0·root·········(0)·root·········(0)····69736·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Tactics.html | 2506 | -rw-r--r--···0·root·········(0)·root·········(0)····69736·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Tactics.html | 
| 2507 | -rw-r--r--···0·root·········(0)·root·········(0)····24852·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Tauto.html | 2507 | -rw-r--r--···0·root·········(0)·root·········(0)····24852·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Tauto.html | 
| 2508 | -rw-r--r--···0·root·········(0)·root·········(0)····56558·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Wf.html | 2508 | -rw-r--r--···0·root·········(0)·root·········(0)····56558·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Wf.html | 
| 2509 | -rw-r--r--···0·root·········(0)·root·········(0)··1005 | 2509 | -rw-r--r--···0·root·········(0)·root·········(0)··1005723·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.List.html | 
| 2510 | -rw-r--r--···0·root·········(0)·root·········(0)····23118·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListDec.html | 2510 | -rw-r--r--···0·root·········(0)·root·········(0)····23118·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListDec.html | 
| 2511 | -rw-r--r--···0·root·········(0)·root·········(0)···113626·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListSet.html | 2511 | -rw-r--r--···0·root·········(0)·root·········(0)···113626·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListSet.html | 
| 2512 | -rw-r--r--···0·root·········(0)·root·········(0)····15205·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListTactics.html | 2512 | -rw-r--r--···0·root·········(0)·root·········(0)····15205·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListTactics.html | 
| 2513 | -rw-r--r--···0·root·········(0)·root·········(0)···23638 | 2513 | -rw-r--r--···0·root·········(0)·root·········(0)···236381·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.SetoidList.html | 
| 2514 | -rw-r--r--···0·root·········(0)·root·········(0)····44917·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.SetoidPermutation.html | 2514 | -rw-r--r--···0·root·········(0)·root·········(0)····44917·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.SetoidPermutation.html | 
| 2515 | -rw-r--r--···0·root·········(0)·root·········(0)····3755 | 2515 | -rw-r--r--···0·root·········(0)·root·········(0)····37551·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.StreamMemo.html | 
| 2516 | -rw-r--r--···0·root·········(0)·root·········(0)····57012·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.Streams.html | 2516 | -rw-r--r--···0·root·········(0)·root·········(0)····57012·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.Streams.html | 
| 2517 | -rw-r--r--···0·root·········(0)·root·········(0)····54223·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Adjointification.html | 2517 | -rw-r--r--···0·root·········(0)·root·········(0)····54223·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Adjointification.html | 
| 2518 | -rw-r--r--···0·root·········(0)·root·········(0)····28317·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Berardi.html | 2518 | -rw-r--r--···0·root·········(0)·root·········(0)····28317·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Berardi.html | 
| 2519 | -rw-r--r--···0·root·········(0)·root·········(0)···238047·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ChoiceFacts.html | 2519 | -rw-r--r--···0·root·········(0)·root·········(0)···238047·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ChoiceFacts.html | 
| 2520 | -rw-r--r--···0·root·········(0)·root·········(0)·····3121·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Classical.html | 2520 | -rw-r--r--···0·root·········(0)·root·········(0)·····3121·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Classical.html | 
| 2521 | -rw-r--r--···0·root·········(0)·root·········(0)····13475·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ClassicalChoice.html | 2521 | -rw-r--r--···0·root·········(0)·root·········(0)····13475·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ClassicalChoice.html | 
| 2522 | -rw-r--r--···0·root·········(0)·root·········(0)····23909·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ClassicalDescription.html | 2522 | -rw-r--r--···0·root·········(0)·root·········(0)····23909·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ClassicalDescription.html | 
| Offset 2561, 133 lines modified | Offset 2561, 133 lines modified | ||
| 2561 | -rw-r--r--···0·root·········(0)·root·········(0)···203414·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetList.html | 2561 | -rw-r--r--···0·root·········(0)·root·········(0)···203414·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetList.html | 
| 2562 | -rw-r--r--···0·root·········(0)·root·········(0)···233427·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetPositive.html | 2562 | -rw-r--r--···0·root·········(0)·root·········(0)···233427·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetPositive.html | 
| 2563 | -rw-r--r--···0·root·········(0)·root·········(0)···332295·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetProperties.html | 2563 | -rw-r--r--···0·root·········(0)·root·········(0)···332295·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetProperties.html | 
| 2564 | -rw-r--r--···0·root·········(0)·root·········(0)···463907·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetRBT.html | 2564 | -rw-r--r--···0·root·········(0)·root·········(0)···463907·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetRBT.html | 
| 2565 | -rw-r--r--···0·root·········(0)·root·········(0)····30365·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetToFiniteSet.html | 2565 | -rw-r--r--···0·root·········(0)·root·········(0)····30365·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetToFiniteSet.html | 
| 2566 | -rw-r--r--···0·root·········(0)·root·········(0)···127910·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetWeakList.html | 2566 | -rw-r--r--···0·root·········(0)·root·········(0)···127910·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetWeakList.html | 
| 2567 | -rw-r--r--···0·root·········(0)·root·········(0)·····5306·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSets.html | 2567 | -rw-r--r--···0·root·········(0)·root·········(0)·····5306·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSets.html | 
| 2568 | -rw-r--r--···0·root·········(0)·root·········(0)···28109 | 2568 | -rw-r--r--···0·root·········(0)·root·········(0)···281097·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.BinNat.html | 
| 2569 | -rw-r--r--···0·root·········(0)·root·········(0)····990 | 2569 | -rw-r--r--···0·root·········(0)·root·········(0)····99073·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.BinNatDef.html | 
| 2570 | -rw-r--r--···0·root·········(0)·root·········(0)·····7411·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.NArith.html | 2570 | -rw-r--r--···0·root·········(0)·root·········(0)·····7411·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.NArith.html | 
| 2571 | -rw-r--r--···0·root·········(0)·root·········(0)····88281·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndec.html | 2571 | -rw-r--r--···0·root·········(0)·root·········(0)····88281·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndec.html | 
| 2572 | -rw-r--r--···0·root·········(0)·root·········(0)·····8571·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndiv_def.html | 2572 | -rw-r--r--···0·root·········(0)·root·········(0)·····8571·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndiv_def.html | 
| 2573 | -rw-r--r--···0·root·········(0)·root·········(0)·····6254·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ngcd_def.html | 2573 | -rw-r--r--···0·root·········(0)·root·········(0)·····6254·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ngcd_def.html | 
| 2574 | -rw-r--r--···0·root·········(0)·root·········(0)····6914 | 2574 | -rw-r--r--···0·root·········(0)·root·········(0)····69145·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Nnat.html | 
| 2575 | -rw-r--r--···0·root·········(0)·root·········(0)·····3820·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Nsqrt_def.html | 2575 | -rw-r--r--···0·root·········(0)·root·········(0)·····3820·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Nsqrt_def.html | 
| 2576 | -rw-r--r--···0·root·········(0)·root·········(0)····1173 | 2576 | -rw-r--r--···0·root·········(0)·root·········(0)····11733·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.AltBinNotations.html | 
| 2577 | -rw-r--r--···0·root·········(0)·root·········(0)····155 | 2577 | -rw-r--r--···0·root·········(0)·root·········(0)····15561·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.BinNums.html | 
| 2578 | -rw-r--r--···0·root·········(0)·root·········(0)·····4226·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.CarryType.html | 2578 | -rw-r--r--···0·root·········(0)·root·········(0)·····4226·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.CarryType.html | 
| 2579 | -rw-r--r--···0·root·········(0)·root·········(0)···21024 | 2579 | -rw-r--r--···0·root·········(0)·root·········(0)···210248·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html | 
| 2580 | -rw-r--r--···0·root·········(0)·root·········(0)····14968·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.DoubleType.html | 2580 | -rw-r--r--···0·root·········(0)·root·········(0)····14968·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.DoubleType.html | 
| 2581 | -rw-r--r--···0·root·········(0)·root·········(0)····5472 | 2581 | -rw-r--r--···0·root·········(0)·root·········(0)····54727·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.NZCyclic.html | 
| 2582 | -rw-r--r--···0·root·········(0)·root·········(0)····7729 | 2582 | -rw-r--r--···0·root·········(0)·root·········(0)····77296·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Cyclic63.html | 
| 2583 | -rw-r--r--···0·root·········(0)·root·········(0)····18492·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.PrimInt63.html | 2583 | -rw-r--r--···0·root·········(0)·root·········(0)····18492·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.PrimInt63.html | 
| 2584 | -rw-r--r--···0·root·········(0)·root·········(0)····1922 | 2584 | -rw-r--r--···0·root·········(0)·root·········(0)····19222·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Ring63.html | 
| 2585 | -rw-r--r--···0·root·········(0)·root·········(0)···103930·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Sint63.html | 2585 | -rw-r--r--···0·root·········(0)·root·········(0)···103930·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Sint63.html | 
| 2586 | -rw-r--r--···0·root·········(0)·root·········(0)···476321·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Uint63.html | 2586 | -rw-r--r--···0·root·········(0)·root·········(0)···476321·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Uint63.html | 
| 2587 | -rw-r--r--···0·root·········(0)·root·········(0)···15191 | 2587 | -rw-r--r--···0·root·········(0)·root·········(0)···151918·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalFacts.html | 
| 2588 | -rw-r--r--···0·root·········(0)·root·········(0)····2085 | 2588 | -rw-r--r--···0·root·········(0)·root·········(0)····20858·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalN.html | 
| 2589 | -rw-r--r--···0·root·········(0)·root·········(0)····601 | 2589 | -rw-r--r--···0·root·········(0)·root·········(0)····60110·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalNat.html | 
| 2590 | -rw-r--r--···0·root·········(0)·root·········(0)····7825 | 2590 | -rw-r--r--···0·root·········(0)·root·········(0)····78256·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalPos.html | 
| 2591 | -rw-r--r--···0·root·········(0)·root·········(0)····5283 | 2591 | -rw-r--r--···0·root·········(0)·root·········(0)····52837·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalQ.html | 
| 2592 | -rw-r--r--···0·root·········(0)·root·········(0)····1656 | 2592 | -rw-r--r--···0·root·········(0)·root·········(0)····16563·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalR.html | 
| 2593 | -rw-r--r--···0·root·········(0)·root·········(0)····5696 | 2593 | -rw-r--r--···0·root·········(0)·root·········(0)····56969·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalString.html | 
| 2594 | -rw-r--r--···0·root·········(0)·root·········(0)····172 | 2594 | -rw-r--r--···0·root·········(0)·root·········(0)····17290·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalZ.html | 
| 2595 | -rw-r--r--···0·root·········(0)·root·········(0)···1644 | 2595 | -rw-r--r--···0·root·········(0)·root·········(0)···164470·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalFacts.html | 
| 2596 | -rw-r--r--···0·root·········(0)·root·········(0)····2132 | 2596 | -rw-r--r--···0·root·········(0)·root·········(0)····21324·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalN.html | 
| 2597 | -rw-r--r--···0·root·········(0)·root·········(0)····7216 | 2597 | -rw-r--r--···0·root·········(0)·root·········(0)····72169·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalNat.html | 
| 2598 | -rw-r--r--···0·root·········(0)·root·········(0)····9474 | 2598 | -rw-r--r--···0·root·········(0)·root·········(0)····94746·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalPos.html | 
| 2599 | -rw-r--r--···0·root·········(0)·root·········(0)····5491 | 2599 | -rw-r--r--···0·root·········(0)·root·········(0)····54915·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalQ.html | 
| 2600 | -rw-r--r--···0·root·········(0)·root·········(0)····1738 | 2600 | -rw-r--r--···0·root·········(0)·root·········(0)····17388·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalR.html | 
| 2601 | -rw-r--r--···0·root·········(0)·root·········(0)····6914 | 2601 | -rw-r--r--···0·root·········(0)·root·········(0)····69145·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalString.html | 
| 2602 | -rw-r--r--···0·root·········(0)·root·········(0)····2247 | 2602 | -rw-r--r--···0·root·········(0)·root·········(0)····22472·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalZ.html | 
| 2603 | -rw-r--r--···0·root·········(0)·root·········(0)····81809·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZAdd.html | 2603 | -rw-r--r--···0·root·········(0)·root·········(0)····81809·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZAdd.html | 
| 2604 | -rw-r--r--···0·root·········(0)·root·········(0)····89793·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZAddOrder.html | 2604 | -rw-r--r--···0·root·········(0)·root·········(0)····89793·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZAddOrder.html | 
| 2605 | -rw-r--r--···0·root·········(0)·root·········(0)····52844·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZAxioms.html | 2605 | -rw-r--r--···0·root·········(0)·root·········(0)····52844·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZAxioms.html | 
| 2606 | -rw-r--r--···0·root·········(0)·root·········(0)·····7577·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZBase.html | 2606 | -rw-r--r--···0·root·········(0)·root·········(0)·····7577·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZBase.html | 
| 2607 | -rw-r--r--···0·root·········(0)·root·········(0)···41194 | 2607 | -rw-r--r--···0·root·········(0)·root·········(0)···411948·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZBits.html | 
| 2608 | -rw-r--r--···0·root·········(0)·root·········(0)···1690 | 2608 | -rw-r--r--···0·root·········(0)·root·········(0)···169042·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZDivEucl.html | 
| 2609 | -rw-r--r--···0·root·········(0)·root·········(0)···19803 | 2609 | -rw-r--r--···0·root·········(0)·root·········(0)···198034·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZDivFloor.html | 
| 2610 | -rw-r--r--···0·root·········(0)·root·········(0)···1874 | 2610 | -rw-r--r--···0·root·········(0)·root·········(0)···187482·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZDivTrunc.html | 
| 2611 | -rw-r--r--···0·root·········(0)·root·········(0)····63229·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZGcd.html | 2611 | -rw-r--r--···0·root·········(0)·root·········(0)····63229·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZGcd.html | 
| 2612 | -rw-r--r--···0·root·········(0)·root·········(0)···12071 | 2612 | -rw-r--r--···0·root·········(0)·root·········(0)···120718·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZLcm.html | 
| 2613 | -rw-r--r--···0·root·········(0)·root·········(0)····30570·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZLt.html | 2613 | -rw-r--r--···0·root·········(0)·root·········(0)····30570·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZLt.html | 
| 2614 | -rw-r--r--···0·root·········(0)·root·········(0)····5092 | 2614 | -rw-r--r--···0·root·········(0)·root·········(0)····50927·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Integer.Abstract.ZMaxMin.html | 
| Max diff block lines reached; 29597/56283 bytes (52.59%) of diff not shown. | |||
| Offset 54, 15 lines modified | Offset 54, 15 lines modified | ||
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.EqNat.html#"><span·class="id"·title="library">EqNat</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.EqNat.html#"><span·class="id"·title="library">EqNat</span></a>.<br/> | 
| 55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Wf_nat.html#"><span·class="id"·title="library">Wf_nat</span></a>.<br/> | 55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Wf_nat.html#"><span·class="id"·title="library">Wf_nat</span></a>.<br/> | 
| 56 | <br/> | 56 | <br/> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="doc"> | 58 | <div·class="doc"> | 
| 59 | <a·id="lab | 59 | <a·id="lab294"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">arith</span></span>·hint·database</h1> | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="code"> | 61 | <div·class="code"> | 
| 62 | <br/> | 62 | <br/> | 
| 63 | #[<span·class="id"·title="var">global</span>]<br/> | 63 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 64 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">eq_nat_refl</span>:·<span·class="id"·title="var">arith</span>.<br/> | 64 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">eq_nat_refl</span>:·<span·class="id"·title="var">arith</span>.<br/> | 
| Offset 76, 15 lines modified | Offset 76, 15 lines modified | ||
| 76 | #[<span·class="id"·title="var">global</span>]<br/> | 76 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 77 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">in_int_Sp_q</span>·<span·class="id"·title="var">exists_le_S</span>·<span·class="id"·title="var">exists_S_le</span>:·<span·class="id"·title="var">arith</span>.<br/> | 77 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">in_int_Sp_q</span>·<span·class="id"·title="var">exists_le_S</span>·<span·class="id"·title="var">exists_S_le</span>:·<span·class="id"·title="var">arith</span>.<br/> | 
| 78 | <br/> | 78 | <br/> | 
| 79 | </div> | 79 | </div> | 
| 80 | <div·class="doc"> | 80 | <div·class="doc"> | 
| 81 | <a·id="lab | 81 | <a·id="lab295"></a><h2·class="section"><span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">le</span></span></h2> | 
| 82 | </div> | 82 | </div> | 
| 83 | <div·class="code"> | 83 | <div·class="code"> | 
| 84 | #[<span·class="id"·title="var">global</span>]<br/> | 84 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 85 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Nat.le_trans</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> | 85 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Nat.le_trans</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> | 
| 86 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">Nat.le_antisymm</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> | 86 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">Nat.le_antisymm</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> | 
| 87 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Nat.le_0_l</span>·<span·class="id"·title="var">Nat.nle_succ_0</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> | 87 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Nat.le_0_l</span>·<span·class="id"·title="var">Nat.nle_succ_0</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> | 
| Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
| 52 | <br/> | 52 | <br/> | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="doc"> | 54 | <div·class="doc"> | 
| 55 | Equality·on·natural·numbers· | 55 | Equality·on·natural·numbers· | 
| 56 | <div·class="paragraph">·</div> | 56 | <div·class="paragraph">·</div> | 
| 57 | <a·id="lab | 57 | <a·id="lab278"></a><h1·class="section">Propositional·equality</h1> | 
| 58 | </div> | 58 | </div> | 
| 59 | <div·class="code"> | 59 | <div·class="code"> | 
| 60 | <br/> | 60 | <br/> | 
| 61 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="eq_nat"·class="idref"·href="#eq_nat"><span·class="id"·title="definition">eq_nat</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 61 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="eq_nat"·class="idref"·href="#eq_nat"><span·class="id"·title="definition">eq_nat</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 62 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Arith.EqNat.html#n:1"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Arith.EqNat.html#m:2"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 62 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Arith.EqNat.html#n:1"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Arith.EqNat.html#m:2"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 145, 15 lines modified | Offset 145, 15 lines modified | ||
| 145 |     <a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>)·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 145 |     <a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>)·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 146 |       <span·class="id"·title="keyword">forall</span>·<a·id="n:14"·class="idref"·href="#n:14"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.recursion"><span·class="id"·title="definition">recursion</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>))·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.recursion"><span·class="id"·title="definition">recursion</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>)).<br/> | 146 |       <span·class="id"·title="keyword">forall</span>·<a·id="n:14"·class="idref"·href="#n:14"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.recursion"><span·class="id"·title="definition">recursion</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>))·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.recursion"><span·class="id"·title="definition">recursion</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>)).<br/> | 
| 147 | <br/> | 147 | <br/> | 
| 148 | </div> | 148 | </div> | 
| 149 | <div·class="doc"> | 149 | <div·class="doc"> | 
| 150 | <a·id="lab | 150 | <a·id="lab279"></a><h2·class="section">Remaining·constants·not·defined·in·Coq.Init.Nat</h2> | 
| 151 | <div·class="paragraph">·</div> | 151 | <div·class="paragraph">·</div> | 
| 152 | ·NB:·Aliasing·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·is·mandatory,·since·only·a·Definition·can·implement | 152 | ·NB:·Aliasing·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·is·mandatory,·since·only·a·Definition·can·implement | 
| 153 | ····an·interface·Parameter...· | 153 | ····an·interface·Parameter...· | 
| 154 | </div> | 154 | </div> | 
| 155 | <div·class="code"> | 155 | <div·class="code"> | 
| Offset 163, 15 lines modified | Offset 163, 15 lines modified | ||
| 163 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nat.le"·class="idref"·href="#Nat.le"><span·class="id"·title="definition">le</span></a>·:=·<a·class="idref"·href="Coq.Init.Peano.html#le"><span·class="id"·title="inductive">Peano.le</span></a>.<br/> | 163 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nat.le"·class="idref"·href="#Nat.le"><span·class="id"·title="definition">le</span></a>·:=·<a·class="idref"·href="Coq.Init.Peano.html#le"><span·class="id"·title="inductive">Peano.le</span></a>.<br/> | 
| 164 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nat.lt"·class="idref"·href="#Nat.lt"><span·class="id"·title="definition">lt</span></a>·:=·<a·class="idref"·href="Coq.Init.Peano.html#lt"><span·class="id"·title="definition">Peano.lt</span></a>.<br/> | 164 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nat.lt"·class="idref"·href="#Nat.lt"><span·class="id"·title="definition">lt</span></a>·:=·<a·class="idref"·href="Coq.Init.Peano.html#lt"><span·class="id"·title="definition">Peano.lt</span></a>.<br/> | 
| 165 | <br/> | 165 | <br/> | 
| 166 | </div> | 166 | </div> | 
| 167 | <div·class="doc"> | 167 | <div·class="doc"> | 
| 168 | <a·id="lab | 168 | <a·id="lab280"></a><h2·class="section">Basic·specifications·:·pred·add·sub·mul</h2> | 
| 169 | </div> | 169 | </div> | 
| 170 | <div·class="code"> | 170 | <div·class="code"> | 
| 171 | <br/> | 171 | <br/> | 
| 172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pred_succ"·class="idref"·href="#Nat.pred_succ"><span·class="id"·title="lemma">pred_succ</span></a>·<a·id="n:15"·class="idref"·href="#n:15"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.pred"><span·class="id"·title="definition">pred</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:15"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:15"><span·class="id"·title="variable">n</span></a>.<br/> | 172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pred_succ"·class="idref"·href="#Nat.pred_succ"><span·class="id"·title="lemma">pred_succ</span></a>·<a·id="n:15"·class="idref"·href="#n:15"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.pred"><span·class="id"·title="definition">pred</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:15"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:15"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 173 | · | 173 | · | 
| Offset 205, 15 lines modified | Offset 205, 15 lines modified | ||
| 205 | <br/> | 205 | <br/> | 
| 206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.lt_succ_r"·class="idref"·href="#Nat.lt_succ_r"><span·class="id"·title="lemma">lt_succ_r</span></a>·<a·id="n:33"·class="idref"·href="#n:33"><span·class="id"·title="binder">n</span></a>·<a·id="m:34"·class="idref"·href="#m:34"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:33"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#::nat_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:34"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:33"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:34"><span·class="id"·title="variable">m</span></a>.<br/> | 206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.lt_succ_r"·class="idref"·href="#Nat.lt_succ_r"><span·class="id"·title="lemma">lt_succ_r</span></a>·<a·id="n:33"·class="idref"·href="#n:33"><span·class="id"·title="binder">n</span></a>·<a·id="m:34"·class="idref"·href="#m:34"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:33"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#::nat_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:34"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:33"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:34"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 207 | <br/> | 207 | <br/> | 
| 208 | </div> | 208 | </div> | 
| 209 | <div·class="doc"> | 209 | <div·class="doc"> | 
| 210 | <a·id="lab | 210 | <a·id="lab281"></a><h2·class="section">Boolean·comparisons</h2> | 
| 211 | </div> | 211 | </div> | 
| 212 | <div·class="code"> | 212 | <div·class="code"> | 
| 213 | <br/> | 213 | <br/> | 
| 214 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.eqb_eq"·class="idref"·href="#Nat.eqb_eq"><span·class="id"·title="lemma">eqb_eq</span></a>·<a·id="n:35"·class="idref"·href="#n:35"><span·class="id"·title="binder">n</span></a>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:36"><span·class="id"·title="variable">m</span></a>.<br/> | 214 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.eqb_eq"·class="idref"·href="#Nat.eqb_eq"><span·class="id"·title="lemma">eqb_eq</span></a>·<a·id="n:35"·class="idref"·href="#n:35"><span·class="id"·title="binder">n</span></a>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:36"><span·class="id"·title="variable">m</span></a>.<br/> | 
| Offset 237, 27 lines modified | Offset 237, 27 lines modified | ||
| 237 | · | 237 | · | 
| 238 | <br/> | 238 | <br/> | 
| 239 | <br/> | 239 | <br/> | 
| 240 | </div> | 240 | </div> | 
| 241 | <div·class="doc"> | 241 | <div·class="doc"> | 
| 242 | <a·id="lab | 242 | <a·id="lab282"></a><h2·class="section">Decidability·of·equality·over·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>.</h2> | 
| 243 | </div> | 243 | </div> | 
| 244 | <div·class="code"> | 244 | <div·class="code"> | 
| 245 | <br/> | 245 | <br/> | 
| 246 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.eq_dec"·class="idref"·href="#Nat.eq_dec"><span·class="id"·title="lemma">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:45"·class="idref"·href="#n:45"><span·class="id"·title="binder">n</span></a>·<a·id="m:46"·class="idref"·href="#m:46"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#n:45"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:46"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#n:45"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:46"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 246 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.eq_dec"·class="idref"·href="#Nat.eq_dec"><span·class="id"·title="lemma">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:45"·class="idref"·href="#n:45"><span·class="id"·title="binder">n</span></a>·<a·id="m:46"·class="idref"·href="#m:46"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#n:45"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:46"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#n:45"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:46"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 247 | <br/> | 247 | <br/> | 
| 248 | </div> | 248 | </div> | 
| 249 | <div·class="doc"> | 249 | <div·class="doc"> | 
| 250 | <a·id="lab | 250 | <a·id="lab283"></a><h2·class="section">Ternary·comparison</h2> | 
| 251 | <div·class="paragraph">·</div> | 251 | <div·class="paragraph">·</div> | 
| 252 | ·With·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·it·would·be·easier·to·prove·first·<span·class="inlinecode"><span·class="id"·title="var">compare_spec</span></span>, | 252 | ·With·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·it·would·be·easier·to·prove·first·<span·class="inlinecode"><span·class="id"·title="var">compare_spec</span></span>, | 
| 253 | ····then·the·properties·below.·But·then·we·wouldn't·be·able·to | 253 | ····then·the·properties·below.·But·then·we·wouldn't·be·able·to | 
| 254 | ····benefit·from·functor·<span·class="inlinecode"><span·class="id"·title="var">BoolOrderFacts</span></span>· | 254 | ····benefit·from·functor·<span·class="inlinecode"><span·class="id"·title="var">BoolOrderFacts</span></span>· | 
| 255 | </div> | 255 | </div> | 
| Offset 278, 15 lines modified | Offset 278, 15 lines modified | ||
| 278 | <br/> | 278 | <br/> | 
| 279 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.compare_succ"·class="idref"·href="#Nat.compare_succ"><span·class="id"·title="lemma">compare_succ</span></a>·<a·id="n:55"·class="idref"·href="#n:55"><span·class="id"·title="binder">n</span></a>·<a·id="m:56"·class="idref"·href="#m:56"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:55"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#4a243c6f4b9487508e7110341eeedb0b"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:56"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#n:55"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#4a243c6f4b9487508e7110341eeedb0b"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:56"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 279 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.compare_succ"·class="idref"·href="#Nat.compare_succ"><span·class="id"·title="lemma">compare_succ</span></a>·<a·id="n:55"·class="idref"·href="#n:55"><span·class="id"·title="binder">n</span></a>·<a·id="m:56"·class="idref"·href="#m:56"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:55"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#4a243c6f4b9487508e7110341eeedb0b"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:56"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#n:55"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#4a243c6f4b9487508e7110341eeedb0b"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:56"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 280 | · | 280 | · | 
| 281 | <br/> | 281 | <br/> | 
| 282 | </div> | 282 | </div> | 
| 283 | <div·class="doc"> | 283 | <div·class="doc"> | 
| 284 | <a·id="lab | 284 | <a·id="lab284"></a><h2·class="section">Minimum,·maximum</h2> | 
| 285 | </div> | 285 | </div> | 
| 286 | <div·class="code"> | 286 | <div·class="code"> | 
| 287 | <br/> | 287 | <br/> | 
| 288 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.max_l"·class="idref"·href="#Nat.max_l"><span·class="id"·title="lemma">max_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:57"·class="idref"·href="#n:57"><span·class="id"·title="binder">n</span></a>·<a·id="m:58"·class="idref"·href="#m:58"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:58"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:57"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.max"><span·class="id"·title="definition">max</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:57"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:58"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:57"><span·class="id"·title="variable">n</span></a>.<br/> | 288 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.max_l"·class="idref"·href="#Nat.max_l"><span·class="id"·title="lemma">max_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:57"·class="idref"·href="#n:57"><span·class="id"·title="binder">n</span></a>·<a·id="m:58"·class="idref"·href="#m:58"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:58"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:57"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.max"><span·class="id"·title="definition">max</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:57"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:58"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:57"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 289 | · | 289 | · | 
| Offset 328, 15 lines modified | Offset 328, 15 lines modified | ||
| 328 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.strong_induction_le"·class="idref"·href="#Nat.strong_induction_le"><span·class="id"·title="lemma">strong_induction_le</span></a>·(<a·id="A:65"·class="idref"·href="#A:65"><span·class="id"·title="binder">A</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:<br/> | 328 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.strong_induction_le"·class="idref"·href="#Nat.strong_induction_le"><span·class="id"·title="lemma">strong_induction_le</span></a>·(<a·id="A:65"·class="idref"·href="#A:65"><span·class="id"·title="binder">A</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:<br/> | 
| 329 |   <a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:66"·class="idref"·href="#n:66"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="m:67"·class="idref"·href="#m:67"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:67"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:66"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:67"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:66"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:68"·class="idref"·href="#n:68"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:68"><span·class="id"·title="variable">n</span></a>.<br/> | 329 |   <a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:66"·class="idref"·href="#n:66"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="m:67"·class="idref"·href="#m:67"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:67"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:66"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:67"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:66"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:68"·class="idref"·href="#n:68"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:68"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 330 | · | 330 | · | 
| 331 | <br/> | 331 | <br/> | 
| 332 | </div> | 332 | </div> | 
| 333 | <div·class="doc"> | 333 | <div·class="doc"> | 
| 334 | <a·id="lab | 334 | <a·id="lab285"></a><h2·class="section">Power</h2> | 
| 335 | </div> | 335 | </div> | 
| 336 | <div·class="code"> | 336 | <div·class="code"> | 
| 337 | <br/> | 337 | <br/> | 
| 338 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pow_neg_r"·class="idref"·href="#Nat.pow_neg_r"><span·class="id"·title="lemma">pow_neg_r</span></a>·<a·id="a:69"·class="idref"·href="#a:69"><span·class="id"·title="binder">a</span></a>·<a·id="b:70"·class="idref"·href="#b:70"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#b:70"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Peano.html#::nat_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:69"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:70"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> | 338 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pow_neg_r"·class="idref"·href="#Nat.pow_neg_r"><span·class="id"·title="lemma">pow_neg_r</span></a>·<a·id="a:69"·class="idref"·href="#a:69"><span·class="id"·title="binder">a</span></a>·<a·id="b:70"·class="idref"·href="#b:70"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#b:70"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Peano.html#::nat_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:69"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:70"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> | 
| 339 | · | 339 | · | 
| Offset 346, 27 lines modified | Offset 346, 27 lines modified | ||
| 346 | <br/> | 346 | <br/> | 
| 347 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pow_succ_r"·class="idref"·href="#Nat.pow_succ_r"><span·class="id"·title="lemma">pow_succ_r</span></a>·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>·<a·id="b:73"·class="idref"·href="#b:73"><span·class="id"·title="binder">b</span></a>·:·0<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:73"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#b:73"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:73"><span·class="id"·title="variable">b</span></a>.<br/> | 347 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pow_succ_r"·class="idref"·href="#Nat.pow_succ_r"><span·class="id"·title="lemma">pow_succ_r</span></a>·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>·<a·id="b:73"·class="idref"·href="#b:73"><span·class="id"·title="binder">b</span></a>·:·0<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:73"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#b:73"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:73"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 348 | · | 348 | · | 
| 349 | <br/> | 349 | <br/> | 
| 350 | </div> | 350 | </div> | 
| 351 | <div·class="doc"> | 351 | <div·class="doc"> | 
| 352 | <a·id="lab | 352 | <a·id="lab286"></a><h2·class="section">Square</h2> | 
| 353 | </div> | 353 | </div> | 
| 354 | <div·class="code"> | 354 | <div·class="code"> | 
| 355 | <br/> | 355 | <br/> | 
| 356 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.square_spec"·class="idref"·href="#Nat.square_spec"><span·class="id"·title="lemma">square_spec</span></a>·<a·id="n:74"·class="idref"·href="#n:74"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.square"><span·class="id"·title="definition">square</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:74"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:74"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:74"><span·class="id"·title="variable">n</span></a>.<br/> | 356 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.square_spec"·class="idref"·href="#Nat.square_spec"><span·class="id"·title="lemma">square_spec</span></a>·<a·id="n:74"·class="idref"·href="#n:74"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.square"><span·class="id"·title="definition">square</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:74"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:74"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:74"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 357 | · | 357 | · | 
| 358 | <br/> | 358 | <br/> | 
| 359 | </div> | 359 | </div> | 
| 360 | <div·class="doc"> | 360 | <div·class="doc"> | 
| Max diff block lines reached; 23877/45236 bytes (52.78%) of diff not shown. | |||
| Offset 86, 27 lines modified | Offset 86, 27 lines modified | ||
| 86 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·=>·<a·class="idref"·href="Coq.Init.Logic.html#False"><span·class="id"·title="inductive">False</span></a><br/> | 86 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·=>·<a·class="idref"·href="Coq.Init.Logic.html#False"><span·class="id"·title="inductive">False</span></a><br/> | 
| 87 |   <span·class="id"·title="keyword">end</span>.<br/> | 87 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 88 | <br/> | 88 | <br/> | 
| 89 | </div> | 89 | </div> | 
| 90 | <div·class="doc"> | 90 | <div·class="doc"> | 
| 91 | <a·id="lab | 91 | <a·id="lab228"></a><h1·class="section">Decidability</h1> | 
| 92 | </div> | 92 | </div> | 
| 93 | <div·class="code"> | 93 | <div·class="code"> | 
| 94 | <br/> | 94 | <br/> | 
| 95 | <span·class="id"·title="keyword">Lemma</span>·<a·id="bool_dec"·class="idref"·href="#bool_dec"><span·class="id"·title="lemma">bool_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:3"·class="idref"·href="#b1:3"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:4"·class="idref"·href="#b2:4"><span·class="id"·title="binder">b2</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Bool.Bool.html#b1:3"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:4"><span·class="id"·title="variable">b2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Bool.Bool.html#b1:3"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:4"><span·class="id"·title="variable">b2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 95 | <span·class="id"·title="keyword">Lemma</span>·<a·id="bool_dec"·class="idref"·href="#bool_dec"><span·class="id"·title="lemma">bool_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:3"·class="idref"·href="#b1:3"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:4"·class="idref"·href="#b2:4"><span·class="id"·title="binder">b2</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Bool.Bool.html#b1:3"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:4"><span·class="id"·title="variable">b2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Bool.Bool.html#b1:3"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:4"><span·class="id"·title="variable">b2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 96 | <br/> | 96 | <br/> | 
| 97 | </div> | 97 | </div> | 
| 98 | <div·class="doc"> | 98 | <div·class="doc"> | 
| 99 | <a·id="lab | 99 | <a·id="lab229"></a><h1·class="section">Discrimination</h1> | 
| 100 | </div> | 100 | </div> | 
| 101 | <div·class="code"> | 101 | <div·class="code"> | 
| 102 | <br/> | 102 | <br/> | 
| 103 | <span·class="id"·title="keyword">Lemma</span>·<a·id="diff_true_false"·class="idref"·href="#diff_true_false"><span·class="id"·title="lemma">diff_true_false</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 103 | <span·class="id"·title="keyword">Lemma</span>·<a·id="diff_true_false"·class="idref"·href="#diff_true_false"><span·class="id"·title="lemma">diff_true_false</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 
| 104 | #[<span·class="id"·title="var">global</span>]<br/> | 104 | #[<span·class="id"·title="var">global</span>]<br/> | 
| Offset 134, 15 lines modified | Offset 134, 15 lines modified | ||
| 134 | <br/> | 134 | <br/> | 
| 135 | <span·class="id"·title="keyword">Lemma</span>·<a·id="not_false_iff_true"·class="idref"·href="#not_false_iff_true"><span·class="id"·title="lemma">not_false_iff_true</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:9"·class="idref"·href="#b:9"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b:9"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:9"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 135 | <span·class="id"·title="keyword">Lemma</span>·<a·id="not_false_iff_true"·class="idref"·href="#not_false_iff_true"><span·class="id"·title="lemma">not_false_iff_true</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:9"·class="idref"·href="#b:9"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b:9"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:9"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 
| 136 | <br/> | 136 | <br/> | 
| 137 | </div> | 137 | </div> | 
| 138 | <div·class="doc"> | 138 | <div·class="doc"> | 
| 139 | <a·id="lab | 139 | <a·id="lab230"></a><h1·class="section">Order·on·booleans</h1> | 
| 140 | </div> | 140 | </div> | 
| 141 | <div·class="code"> | 141 | <div·class="code"> | 
| 142 | <br/> | 142 | <br/> | 
| 143 | #[·<span·class="id"·title="var">local</span>·]·<span·class="id"·title="keyword">Definition</span>·<a·id="le"·class="idref"·href="#le"><span·class="id"·title="definition">le</span></a>·(<a·id="b1:10"·class="idref"·href="#b1:10"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:11"·class="idref"·href="#b2:11"><span·class="id"·title="binder">b2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·:=<br/> | 143 | #[·<span·class="id"·title="var">local</span>·]·<span·class="id"·title="keyword">Definition</span>·<a·id="le"·class="idref"·href="#le"><span·class="id"·title="definition">le</span></a>·(<a·id="b1:10"·class="idref"·href="#b1:10"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:11"·class="idref"·href="#b2:11"><span·class="id"·title="binder">b2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·:=<br/> | 
| 144 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:10"><span·class="id"·title="variable">b1</span></a>·<span·class="id"·title="keyword">with</span><br/> | 144 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:10"><span·class="id"·title="variable">b1</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 176, 15 lines modified | Offset 176, 15 lines modified | ||
| 176 | <span·class="id"·title="keyword">Lemma</span>·<a·id="compare_spec"·class="idref"·href="#compare_spec"><span·class="id"·title="lemma">compare_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:22"·class="idref"·href="#b1:22"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:23"·class="idref"·href="#b2:23"><span·class="id"·title="binder">b2</span></a>,<br/> | 176 | <span·class="id"·title="keyword">Lemma</span>·<a·id="compare_spec"·class="idref"·href="#compare_spec"><span·class="id"·title="lemma">compare_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:22"·class="idref"·href="#b1:22"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:23"·class="idref"·href="#b2:23"><span·class="id"·title="binder">b2</span></a>,<br/> | 
| 177 |   <a·class="idref"·href="Coq.Init.Datatypes.html#CompareSpec"><span·class="id"·title="inductive">CompareSpec</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#lt"><span·class="id"·title="definition">lt</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#lt"><span·class="id"·title="definition">lt</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#compare"><span·class="id"·title="definition">compare</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>).<br/> | 177 |   <a·class="idref"·href="Coq.Init.Datatypes.html#CompareSpec"><span·class="id"·title="inductive">CompareSpec</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#lt"><span·class="id"·title="definition">lt</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#lt"><span·class="id"·title="definition">lt</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#compare"><span·class="id"·title="definition">compare</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>).<br/> | 
| 178 | · | 178 | · | 
| 179 | <br/> | 179 | <br/> | 
| 180 | </div> | 180 | </div> | 
| 181 | <div·class="doc"> | 181 | <div·class="doc"> | 
| 182 | <a·id="lab | 182 | <a·id="lab231"></a><h1·class="section">Equality</h1> | 
| 183 | </div> | 183 | </div> | 
| 184 | <div·class="code"> | 184 | <div·class="code"> | 
| 185 | <br/> | 185 | <br/> | 
| 186 | <span·class="id"·title="keyword">Definition</span>·<a·id="eqb"·class="idref"·href="#eqb"><span·class="id"·title="definition">eqb</span></a>·(<a·id="b1:24"·class="idref"·href="#b1:24"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:25"·class="idref"·href="#b2:25"><span·class="id"·title="binder">b2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 186 | <span·class="id"·title="keyword">Definition</span>·<a·id="eqb"·class="idref"·href="#eqb"><span·class="id"·title="definition">eqb</span></a>·(<a·id="b1:24"·class="idref"·href="#b1:24"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:25"·class="idref"·href="#b2:25"><span·class="id"·title="binder">b2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 
| 187 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:24"><span·class="id"·title="variable">b1</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b2:25"><span·class="id"·title="variable">b2</span></a>·<span·class="id"·title="keyword">with</span><br/> | 187 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:24"><span·class="id"·title="variable">b1</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b2:25"><span·class="id"·title="variable">b2</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 219, 15 lines modified | Offset 219, 15 lines modified | ||
| 219 | <br/> | 219 | <br/> | 
| 220 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_false_iff"·class="idref"·href="#eqb_false_iff"><span·class="id"·title="lemma">eqb_false_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:38"·class="idref"·href="#a:38"><span·class="id"·title="binder">a</span></a>·<a·id="b:39"·class="idref"·href="#b:39"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#a:38"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:39"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#a:38"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:39"><span·class="id"·title="variable">b</span></a>.<br/> | 220 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_false_iff"·class="idref"·href="#eqb_false_iff"><span·class="id"·title="lemma">eqb_false_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:38"·class="idref"·href="#a:38"><span·class="id"·title="binder">a</span></a>·<a·id="b:39"·class="idref"·href="#b:39"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#a:38"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:39"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#a:38"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:39"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 221 | <br/> | 221 | <br/> | 
| 222 | </div> | 222 | </div> | 
| 223 | <div·class="doc"> | 223 | <div·class="doc"> | 
| 224 | <a·id="lab | 224 | <a·id="lab232"></a><h1·class="section">A·synonym·of·<span·class="inlinecode"><span·class="id"·title="keyword">if</span></span>·on·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span></h1> | 
| 225 | </div> | 225 | </div> | 
| 226 | <div·class="code"> | 226 | <div·class="code"> | 
| 227 | <br/> | 227 | <br/> | 
| 228 | <span·class="id"·title="keyword">Definition</span>·<a·id="ifb"·class="idref"·href="#ifb"><span·class="id"·title="definition">ifb</span></a>·(<a·id="b1:40"·class="idref"·href="#b1:40"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:41"·class="idref"·href="#b2:41"><span·class="id"·title="binder">b2</span></a>·<a·id="b3:42"·class="idref"·href="#b3:42"><span·class="id"·title="binder">b3</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 228 | <span·class="id"·title="keyword">Definition</span>·<a·id="ifb"·class="idref"·href="#ifb"><span·class="id"·title="definition">ifb</span></a>·(<a·id="b1:40"·class="idref"·href="#b1:40"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:41"·class="idref"·href="#b2:41"><span·class="id"·title="binder">b2</span></a>·<a·id="b3:42"·class="idref"·href="#b3:42"><span·class="id"·title="binder">b3</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 
| 229 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:40"><span·class="id"·title="variable">b1</span></a>·<span·class="id"·title="keyword">with</span><br/> | 229 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:40"><span·class="id"·title="variable">b1</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 238, 30 lines modified | Offset 238, 30 lines modified | ||
| 238 | <br/> | 238 | <br/> | 
| 239 | <span·class="id"·title="keyword">Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">bool_scope</span>.<br/> | 239 | <span·class="id"·title="keyword">Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">bool_scope</span>.<br/> | 
| 240 | <br/> | 240 | <br/> | 
| 241 | </div> | 241 | </div> | 
| 242 | <div·class="doc"> | 242 | <div·class="doc"> | 
| 243 | <a·id="lab | 243 | <a·id="lab233"></a><h1·class="section">De·Morgan·laws</h1> | 
| 244 | </div> | 244 | </div> | 
| 245 | <div·class="code"> | 245 | <div·class="code"> | 
| 246 | <br/> | 246 | <br/> | 
| 247 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_orb"·class="idref"·href="#negb_orb"><span·class="id"·title="lemma">negb_orb</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:44"·class="idref"·href="#b1:44"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:45"·class="idref"·href="#b2:45"><span·class="id"·title="binder">b2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:44"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:45"><span·class="id"·title="variable">b2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:44"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::bool_scope:x_'&&'_x"><span·class="id"·title="notation">&&</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:45"><span·class="id"·title="variable">b2</span></a>.<br/> | 247 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_orb"·class="idref"·href="#negb_orb"><span·class="id"·title="lemma">negb_orb</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:44"·class="idref"·href="#b1:44"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:45"·class="idref"·href="#b2:45"><span·class="id"·title="binder">b2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:44"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:45"><span·class="id"·title="variable">b2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:44"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::bool_scope:x_'&&'_x"><span·class="id"·title="notation">&&</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:45"><span·class="id"·title="variable">b2</span></a>.<br/> | 
| 248 | <br/> | 248 | <br/> | 
| 249 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_andb"·class="idref"·href="#negb_andb"><span·class="id"·title="lemma">negb_andb</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:46"·class="idref"·href="#b1:46"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:47"·class="idref"·href="#b2:47"><span·class="id"·title="binder">b2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:46"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::bool_scope:x_'&&'_x"><span·class="id"·title="notation">&&</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:47"><span·class="id"·title="variable">b2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:46"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:47"><span·class="id"·title="variable">b2</span></a>.<br/> | 249 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_andb"·class="idref"·href="#negb_andb"><span·class="id"·title="lemma">negb_andb</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:46"·class="idref"·href="#b1:46"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:47"·class="idref"·href="#b2:47"><span·class="id"·title="binder">b2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:46"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::bool_scope:x_'&&'_x"><span·class="id"·title="notation">&&</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:47"><span·class="id"·title="variable">b2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:46"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:47"><span·class="id"·title="variable">b2</span></a>.<br/> | 
| 250 | <br/> | 250 | <br/> | 
| 251 | </div> | 251 | </div> | 
| 252 | <div·class="doc"> | 252 | <div·class="doc"> | 
| 253 | <a·id="lab | 253 | <a·id="lab234"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">negb</span></span></h1> | 
| 254 | </div> | 254 | </div> | 
| 255 | <div·class="code"> | 255 | <div·class="code"> | 
| 256 | <br/> | 256 | <br/> | 
| 257 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_involutive"·class="idref"·href="#negb_involutive"><span·class="id"·title="lemma">negb_involutive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:48"·class="idref"·href="#b:48"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:48"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:48"><span·class="id"·title="variable">b</span></a>.<br/> | 257 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_involutive"·class="idref"·href="#negb_involutive"><span·class="id"·title="lemma">negb_involutive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:48"·class="idref"·href="#b:48"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:48"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:48"><span·class="id"·title="variable">b</span></a>.<br/> | 
| Offset 295, 15 lines modified | Offset 295, 15 lines modified | ||
| 295 | <br/> | 295 | <br/> | 
| 296 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_false_iff"·class="idref"·href="#negb_false_iff"><span·class="id"·title="lemma">negb_false_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:60"·class="idref"·href="#b:60"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:60"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:60"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 296 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_false_iff"·class="idref"·href="#negb_false_iff"><span·class="id"·title="lemma">negb_false_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:60"·class="idref"·href="#b:60"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:60"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:60"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 
| 297 | <br/> | 297 | <br/> | 
| 298 | </div> | 298 | </div> | 
| 299 | <div·class="doc"> | 299 | <div·class="doc"> | 
| 300 | <a·id="lab | 300 | <a·id="lab235"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">orb</span></span></h1> | 
| 301 | </div> | 301 | </div> | 
| 302 | <div·class="code"> | 302 | <div·class="code"> | 
| 303 | <br/> | 303 | <br/> | 
| 304 | <span·class="id"·title="keyword">Lemma</span>·<a·id="orb_true_iff"·class="idref"·href="#orb_true_iff"><span·class="id"·title="lemma">orb_true_iff</span></a>·:<br/> | 304 | <span·class="id"·title="keyword">Lemma</span>·<a·id="orb_true_iff"·class="idref"·href="#orb_true_iff"><span·class="id"·title="lemma">orb_true_iff</span></a>·:<br/> | 
| 305 |   <span·class="id"·title="keyword">forall</span>·<a·id="b1:61"·class="idref"·href="#b1:61"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:62"·class="idref"·href="#b2:62"><span·class="id"·title="binder">b2</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b1:61"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:62"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:61"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:62"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 305 |   <span·class="id"·title="keyword">forall</span>·<a·id="b1:61"·class="idref"·href="#b1:61"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:62"·class="idref"·href="#b2:62"><span·class="id"·title="binder">b2</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b1:61"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:62"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:61"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:62"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 
| Offset 423, 15 lines modified | Offset 423, 15 lines modified | ||
| 423 | #[<span·class="id"·title="var">global</span>]<br/> | 423 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 424 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">orb_comm</span>·<span·class="id"·title="var">orb_assoc</span>:·<span·class="id"·title="var">bool</span>.<br/> | 424 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">orb_comm</span>·<span·class="id"·title="var">orb_assoc</span>:·<span·class="id"·title="var">bool</span>.<br/> | 
| 425 | <br/> | 425 | <br/> | 
| Max diff block lines reached; 13088/32272 bytes (40.56%) of diff not shown. | |||
| Offset 62, 15 lines modified | Offset 62, 15 lines modified | ||
| 62 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations"><span·class="id"·title="module">BoolNotations</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations"><span·class="id"·title="module">BoolNotations</span></a>.<br/> | 
| 63 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">typeclass_instances</span>·<span·class="id"·title="var">relations</span>.<br/> | 63 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">typeclass_instances</span>·<span·class="id"·title="var">relations</span>.<br/> | 
| 64 | <br/> | 64 | <br/> | 
| 65 | </div> | 65 | </div> | 
| 66 | <div·class="doc"> | 66 | <div·class="doc"> | 
| 67 | <a·id="lab | 67 | <a·id="lab243"></a><h1·class="section">Order·<span·class="inlinecode"><span·class="id"·title="var">le</span></span></h1> | 
| 68 | </div> | 68 | </div> | 
| 69 | <div·class="code"> | 69 | <div·class="code"> | 
| 70 | <br/> | 70 | <br/> | 
| 71 | <span·class="id"·title="keyword">Lemma</span>·<a·id="le_refl"·class="idref"·href="#le_refl"><span·class="id"·title="lemma">le_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:1"·class="idref"·href="#b:1"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:1"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b6c5208a24d231af77d2816ac22122c4"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:1"><span·class="id"·title="variable">b</span></a>.<br/> | 71 | <span·class="id"·title="keyword">Lemma</span>·<a·id="le_refl"·class="idref"·href="#le_refl"><span·class="id"·title="lemma">le_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:1"·class="idref"·href="#b:1"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:1"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b6c5208a24d231af77d2816ac22122c4"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:1"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 72 | · | 72 | · | 
| Offset 88, 15 lines modified | Offset 88, 15 lines modified | ||
| 88 | #[<span·class="id"·title="var">global</span>]<br/> | 88 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 89 | <span·class="id"·title="keyword">Instance</span>·<a·id="le_compat"·class="idref"·href="#le_compat"><span·class="id"·title="instance">le_compat</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.Bool.Bool.html#le"><span·class="id"·title="definition">Bool.le</span></a>.<br/> | 89 | <span·class="id"·title="keyword">Instance</span>·<a·id="le_compat"·class="idref"·href="#le_compat"><span·class="id"·title="instance">le_compat</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.Bool.Bool.html#le"><span·class="id"·title="definition">Bool.le</span></a>.<br/> | 
| 90 | · | 90 | · | 
| 91 | <br/> | 91 | <br/> | 
| 92 | </div> | 92 | </div> | 
| 93 | <div·class="doc"> | 93 | <div·class="doc"> | 
| 94 | <a·id="lab | 94 | <a·id="lab244"></a><h1·class="section">Strict·order·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span></h1> | 
| 95 | </div> | 95 | </div> | 
| 96 | <div·class="code"> | 96 | <div·class="code"> | 
| 97 | <br/> | 97 | <br/> | 
| 98 | <span·class="id"·title="keyword">Lemma</span>·<a·id="lt_irrefl"·class="idref"·href="#lt_irrefl"><span·class="id"·title="lemma">lt_irrefl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:7"·class="idref"·href="#b:7"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:7"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations.::bool_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:7"><span·class="id"·title="variable">b</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Lemma</span>·<a·id="lt_irrefl"·class="idref"·href="#lt_irrefl"><span·class="id"·title="lemma">lt_irrefl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:7"·class="idref"·href="#b:7"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:7"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations.::bool_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:7"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 99 | · | 99 | · | 
| Offset 123, 15 lines modified | Offset 123, 15 lines modified | ||
| 123 | <br/> | 123 | <br/> | 
| 124 | <span·class="id"·title="keyword">Lemma</span>·<a·id="le_lteq"·class="idref"·href="#le_lteq"><span·class="id"·title="lemma">le_lteq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:19"·class="idref"·href="#b1:19"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:20"·class="idref"·href="#b2:20"><span·class="id"·title="binder">b2</span></a>,·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b1:19"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b6c5208a24d231af77d2816ac22122c4"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b2:20"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b1:19"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations.::bool_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b2:20"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b1:19"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b2:20"><span·class="id"·title="variable">b2</span></a>.<br/> | 124 | <span·class="id"·title="keyword">Lemma</span>·<a·id="le_lteq"·class="idref"·href="#le_lteq"><span·class="id"·title="lemma">le_lteq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:19"·class="idref"·href="#b1:19"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:20"·class="idref"·href="#b2:20"><span·class="id"·title="binder">b2</span></a>,·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b1:19"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b6c5208a24d231af77d2816ac22122c4"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b2:20"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b1:19"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations.::bool_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b2:20"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b1:19"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b2:20"><span·class="id"·title="variable">b2</span></a>.<br/> | 
| 125 | · | 125 | · | 
| 126 | <br/> | 126 | <br/> | 
| 127 | </div> | 127 | </div> | 
| 128 | <div·class="doc"> | 128 | <div·class="doc"> | 
| 129 | <a·id="lab | 129 | <a·id="lab245"></a><h1·class="section">Order·structures</h1> | 
| 130 | </div> | 130 | </div> | 
| 131 | <div·class="code"> | 131 | <div·class="code"> | 
| 132 | <br/> | 132 | <br/> | 
| 133 | #[<span·class="id"·title="var">global</span>]<br/> | 133 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 134 | <span·class="id"·title="keyword">Instance</span>·<a·id="le_preorder"·class="idref"·href="#le_preorder"><span·class="id"·title="instance">le_preorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#PreOrder"><span·class="id"·title="class">PreOrder</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#le"><span·class="id"·title="definition">Bool.le</span></a>.<br/> | 134 | <span·class="id"·title="keyword">Instance</span>·<a·id="le_preorder"·class="idref"·href="#le_preorder"><span·class="id"·title="instance">le_preorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#PreOrder"><span·class="id"·title="class">PreOrder</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#le"><span·class="id"·title="definition">Bool.le</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab21"></a><h1·class="section">Typeclass-based·setoids.·Definitions·on·<span·class="inlinecode"><span·class="id"·title="var">Equivalence</span></span>.</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau | 
| 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab5"></a><h1·class="section">Typeclass-based·morphism·definition·and·standard,·minimal·instances</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau | 
| 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 74, 15 lines modified | Offset 74, 15 lines modified | ||
| 74 | <br/> | 74 | <br/> | 
| 75 | <br/> | 75 | <br/> | 
| 76 | </div> | 76 | </div> | 
| 77 | <div·class="doc"> | 77 | <div·class="doc"> | 
| 78 | <a·id="lab | 78 | <a·id="lab6"></a><h1·class="section">Morphisms.</h1> | 
| 79 | <div·class="paragraph">·</div> | 79 | <div·class="paragraph">·</div> | 
| 80 | ···We·now·turn·to·the·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·and·declare·standard·instances. | 80 | ···We·now·turn·to·the·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·and·declare·standard·instances. | 
| 81 | ···These·will·be·used·by·the·<span·class="inlinecode"><span·class="id"·title="tactic">setoid_rewrite</span></span>·tactic·later.· | 81 | ···These·will·be·used·by·the·<span·class="inlinecode"><span·class="id"·title="tactic">setoid_rewrite</span></span>·tactic·later.· | 
| 82 | <div·class="paragraph">·</div> | 82 | <div·class="paragraph">·</div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab2"></a><h1·class="section">Typeclass-based·relations,·tactics·and·standard·instances</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ···This·is·the·basic·theory·needed·to·formalize·morphisms·and·setoids. | 51 | ···This·is·the·basic·theory·needed·to·formalize·morphisms·and·setoids. | 
| 52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> | 
| Offset 450, 15 lines modified | Offset 450, 15 lines modified | ||
| 450 | <br/> | 450 | <br/> | 
| 451 | </div> | 451 | </div> | 
| 452 | <div·class="doc"> | 452 | <div·class="doc"> | 
| 453 | We·can·already·dualize·all·these·properties.· | 453 | We·can·already·dualize·all·these·properties.· | 
| 454 | <div·class="paragraph">·</div> | 454 | <div·class="paragraph">·</div> | 
| 455 | <a·id="lab | 455 | <a·id="lab3"></a><h1·class="section">Standard·instances.</h1> | 
| 456 | </div> | 456 | </div> | 
| 457 | <div·class="code"> | 457 | <div·class="code"> | 
| 458 | <br/> | 458 | <br/> | 
| 459 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">reduce_hyp</span>·<span·class="id"·title="var">H</span>·:=<br/> | 459 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">reduce_hyp</span>·<span·class="id"·title="var">H</span>·:=<br/> | 
| 460 |   <span·class="id"·title="keyword">match</span>·<span·class="id"·title="keyword">type</span>·<span·class="id"·title="keyword">of</span>·<span·class="id"·title="var">H</span>·<span·class="id"·title="keyword">with</span><br/> | 460 |   <span·class="id"·title="keyword">match</span>·<span·class="id"·title="keyword">type</span>·<span·class="id"·title="keyword">of</span>·<span·class="id"·title="var">H</span>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 603, 15 lines modified | Offset 603, 15 lines modified | ||
| 603 | <br/> | 603 | <br/> | 
| 604 |   <span·class="id"·title="keyword">Global·Instance</span>·<a·id="relation_implication_preorder"·class="idref"·href="#relation_implication_preorder"><span·class="id"·title="instance">relation_implication_preorder</span></a>·:·<a·class="idref"·href="Coq.Classes.CRelationClasses.html#PreOrder"><span·class="id"·title="class">PreOrder</span></a>·(@<a·class="idref"·href="Coq.Classes.CRelationClasses.html#subrelation"><span·class="id"·title="class">subrelation</span></a>·<a·class="idref"·href="Coq.Classes.CRelationClasses.html#Binary.A"><span·class="id"·title="variable">A</span></a>).<br/> | 604 |   <span·class="id"·title="keyword">Global·Instance</span>·<a·id="relation_implication_preorder"·class="idref"·href="#relation_implication_preorder"><span·class="id"·title="instance">relation_implication_preorder</span></a>·:·<a·class="idref"·href="Coq.Classes.CRelationClasses.html#PreOrder"><span·class="id"·title="class">PreOrder</span></a>·(@<a·class="idref"·href="Coq.Classes.CRelationClasses.html#subrelation"><span·class="id"·title="class">subrelation</span></a>·<a·class="idref"·href="Coq.Classes.CRelationClasses.html#Binary.A"><span·class="id"·title="variable">A</span></a>).<br/> | 
| 605 | · | 605 | · | 
| 606 | <br/> | 606 | <br/> | 
| 607 | </div> | 607 | </div> | 
| 608 | <div·class="doc"> | 608 | <div·class="doc"> | 
| 609 | <a·id="lab | 609 | <a·id="lab4"></a><h3·class="section">Partial·Order.</h3> | 
| 610 | ···A·partial·order·is·a·preorder·which·is·additionally·antisymmetric. | 610 | ···A·partial·order·is·a·preorder·which·is·additionally·antisymmetric. | 
| 611 | ···We·give·an·equivalent·definition,·up-to·an·equivalence·crelation | 611 | ···We·give·an·equivalent·definition,·up-to·an·equivalence·crelation | 
| 612 | ···on·the·carrier.· | 612 | ···on·the·carrier.· | 
| 613 | </div> | 613 | </div> | 
| 614 | <div·class="code"> | 614 | <div·class="code"> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab14"></a><h1·class="section">A·typeclass·to·ease·the·handling·of·decidable·properties.</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·A·proposition·is·decidable·whenever·it·is·reflected·by·a·boolean.· | 51 | ·A·proposition·is·decidable·whenever·it·is·reflected·by·a·boolean.· | 
| 52 | </div> | 52 | </div> | 
| 53 | <div·class="code"> | 53 | <div·class="code"> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab20"></a><h1·class="section">Decidable·equivalences.</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau | 
| 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab10"></a><h1·class="section">Typeclass-based·setoids.·Definitions·on·<span·class="inlinecode"><span·class="id"·title="var">Equivalence</span></span>.</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau | 
| 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab15"></a><h1·class="section">Initialization·code·for·typeclasses,·setting·up·the·default·tactic</h1> | 
| 50 | ···for·instance·search. | 50 | ···for·instance·search. | 
| 51 | <div·class="paragraph">·</div> | 51 | <div·class="paragraph">·</div> | 
| 52 | ···Author:·Matthieu·Sozeau | 52 | ···Author:·Matthieu·Sozeau | 
| 53 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 53 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab11"></a><h1·class="section">Typeclass-based·morphism·definition·and·standard,·minimal·instances</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau | 
| 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 70, 15 lines modified | Offset 70, 15 lines modified | ||
| 70 | <span·class="id"·title="keyword">Generalizable·Variables</span>·<span·class="id"·title="var">A</span>·<span·class="id"·title="var">eqA</span>·<span·class="id"·title="var">B</span>·<span·class="id"·title="var">C</span>·<span·class="id"·title="var">D</span>·<span·class="id"·title="var">R</span>·<span·class="id"·title="var">RA</span>·<span·class="id"·title="var">RB</span>·<span·class="id"·title="var">RC</span>·<span·class="id"·title="var">m</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>.<br/> | 70 | <span·class="id"·title="keyword">Generalizable·Variables</span>·<span·class="id"·title="var">A</span>·<span·class="id"·title="var">eqA</span>·<span·class="id"·title="var">B</span>·<span·class="id"·title="var">C</span>·<span·class="id"·title="var">D</span>·<span·class="id"·title="var">R</span>·<span·class="id"·title="var">RA</span>·<span·class="id"·title="var">RB</span>·<span·class="id"·title="var">RC</span>·<span·class="id"·title="var">m</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>.<br/> | 
| 71 | <span·class="id"·title="keyword">Local·Obligation</span>·<span·class="id"·title="keyword">Tactic</span>·:=·<span·class="id"·title="tactic">try</span>·<span·class="id"·title="tactic">solve</span>·[·<span·class="id"·title="var">simpl_relation</span>·].<br/> | 71 | <span·class="id"·title="keyword">Local·Obligation</span>·<span·class="id"·title="keyword">Tactic</span>·:=·<span·class="id"·title="tactic">try</span>·<span·class="id"·title="tactic">solve</span>·[·<span·class="id"·title="var">simpl_relation</span>·].<br/> | 
| 72 | <br/> | 72 | <br/> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="doc"> | 74 | <div·class="doc"> | 
| 75 | <a·id="lab | 75 | <a·id="lab12"></a><h1·class="section">Morphisms.</h1> | 
| 76 | <div·class="paragraph">·</div> | 76 | <div·class="paragraph">·</div> | 
| 77 | ···We·now·turn·to·the·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·and·declare·standard·instances. | 77 | ···We·now·turn·to·the·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·and·declare·standard·instances. | 
| 78 | ···These·will·be·used·by·the·<span·class="inlinecode"><span·class="id"·title="tactic">setoid_rewrite</span></span>·tactic·later.· | 78 | ···These·will·be·used·by·the·<span·class="inlinecode"><span·class="id"·title="tactic">setoid_rewrite</span></span>·tactic·later.· | 
| 79 | <div·class="paragraph">·</div> | 79 | <div·class="paragraph">·</div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab1"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·instances·for·propositional·connectives.</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau | 
| 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab9"></a><h1·class="section">Morphism·instances·for·relations.</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau | 
| 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 103, 8003 lines modified | Offset 103, 8002 lines modified | ||
| 00000660:·226c·6962·7469·746c·6522·3e4c·6962·7261··"libtitle">Libra | 00000660:·226c·6962·7469·746c·6522·3e4c·6962·7261··"libtitle">Libra | ||
| 00000670:·7279·2043·6f71·2e43·6c61·7373·6573·2e52··ry·Coq.Classes.R | 00000670:·7279·2043·6f71·2e43·6c61·7373·6573·2e52··ry·Coq.Classes.R | ||
| 00000680:·656c·6174·696f·6e43·6c61·7373·6573·3c2f··elationClasses</ | 00000680:·656c·6174·696f·6e43·6c61·7373·6573·3c2f··elationClasses</ | ||
| 00000690:·6831·3e0a·0a3c·6469·7620·636c·6173·733d··h1>..<div·class= | 00000690:·6831·3e0a·0a3c·6469·7620·636c·6173·733d··h1>..<div·class= | ||
| 000006a0:·2263·6f64·6522·3e0a·0a3c·6272·2f3e·0a3c··"code">..<br/>.< | 000006a0:·2263·6f64·6522·3e0a·0a3c·6272·2f3e·0a3c··"code">..<br/>.< | ||
| 000006b0:·2f64·6976·3e0a·0a3c·6469·7620·636c·6173··/div>..<div·clas | 000006b0:·2f64·6976·3e0a·0a3c·6469·7620·636c·6173··/div>..<div·clas | Diff chunk too large, falling back to line-by-line diff (7995 lines added, 7996 lines removed) | |
| 000006c0:·733d·2264·6f63·223e·0a3c·6120·6964·3d22··s="doc">.<a·id=" | 000006c0:·733d·2264·6f63·223e·0a3c·6120·6964·3d22··s="doc">.<a·id=" | ||
| 000006d0:·6c61·623 | 000006d0:·6c61·6231·3722·3e3c·2f61·3e3c·6831·2063··lab17"></a><h1·c | ||
| 000006e0:·6 | 000006e0:·6c61·7373·3d22·7365·6374·696f·6e22·3e54··lass="section">T | ||
| 000006f0:· | 000006f0:·7970·6563·6c61·7373·2d62·6173·6564·2072··ypeclass-based·r | ||
| 00000700:· | 00000700:·656c·6174·696f·6e73·2c20·7461·6374·6963··elations,·tactic | ||
| 00000710:· | 00000710:·7320·616e·6420·7374·616e·6461·7264·2069··s·and·standard·i | ||
| 00000720:·6 | 00000720:·6e73·7461·6e63·6573·3c2f·6831·3e0a·0a0a··nstances</h1>... | ||
| 00000730:· | 00000730:·3c64·6976·2063·6c61·7373·3d22·7061·7261··<div·class="para | ||
| 00000740:·6 | 00000740:·6772·6170·6822·3e20·3c2f·6469·763e·0a0a··graph">·</div>.. | ||
| 00000750:· | 00000750:·2020·2054·6869·7320·6973·2074·6865·2062·····This·is·the·b | ||
| 00000760:·6 | 00000760:·6173·6963·2074·6865·6f72·7920·6e65·6564··asic·theory·need | ||
| 00000770:·6 | 00000770:·6564·2074·6f20·666f·726d·616c·697a·6520··ed·to·formalize· | ||
| 00000780:· | 00000780:·6d6f·7270·6869·736d·7320·616e·6420·7365··morphisms·and·se | ||
| 00000790:· | 00000790:·746f·6964·732e·0a0a·3c64·6976·2063·6c61··toids...<div·cla | ||
| 000007a0:· | 000007a0:·7373·3d22·7061·7261·6772·6170·6822·3e20··ss="paragraph">· | ||
| 000007b0:· | 000007b0:·3c2f·6469·763e·0a0a·2020·2041·7574·686f··</div>..···Autho | ||
| 000007c0:· | 000007c0:·723a·204d·6174·7468·6965·7520·536f·7a65··r:·Matthieu·Soze | ||
| 000007d0:·6 | 000007d0:·6175·0a20·2020·496e·7374·6974·7574·696f··au.···Institutio | ||
| 000007e0:·6 | 000007e0:·6e3a·204c·5249·2c20·434e·5253·2055·4d52··n:·LRI,·CNRS·UMR | ||
| 000007f0:· | 000007f0:·2038·3632·3320·2d20·556e·6976·6572·7369···8623·-·Universi | ||
| 00000800:· | 00000800:·7479·2050·6172·6973·2053·7564·0a0a·3c2f··ty·Paris·Sud..</ | ||
| 00000810:· | 00000810:·6469·763e·0a3c·6469·7620·636c·6173·733d··div>.<div·class= | ||
| 00000820:· | 00000820:·2263·6f64·6522·3e0a·0a3c·6272·2f3e·0a3c··"code">..<br/>.< | ||
| 00000830:· | 00000830:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
| 00000840:· | 00000840:·7469·746c·653d·226b·6579·776f·7264·223e··title="keyword"> | ||
| 00000850:· | 00000850:·5265·7175·6972·653c·2f73·7061·6e3e·203c··Require</span>·< | ||
| 00000860:· | 00000860:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
| 00000870:· | 00000870:·7469·746c·653d·226b·6579·776f·7264·223e··title="keyword"> | ||
| 00000880:· | 00000880:·4578·706f·7274·3c2f·7370·616e·3e20·3c61··Export</span>·<a | ||
| 00000890:· | 00000890:·2063·6c61·7373·3d22·6964·7265·6622·2068···class="idref"·h | ||
| 000008a0:· | 000008a0:·7265·663d·2243·6f71·2e43·6c61·7373·6573··ref="Coq.Classes | ||
| 000008b0:· | 000008b0:·2e49·6e69·742e·6874·6d6c·2322·3e3c·7370··.Init.html#"><sp | ||
| 000008c0:· | 000008c0:·616e·2063·6c61·7373·3d22·6964·2220·7469··an·class="id"·ti | ||
| 000008d0:· | 000008d0:·746c·653d·226c·6962·7261·7279·223e·436f··tle="library">Co | ||
| 000008e0:· | 000008e0:·712e·436c·6173·7365·732e·496e·6974·3c2f··q.Classes.Init</ | ||
| 000008f0:· | 000008f0:·7370·616e·3e3c·2f61·3e2e·3c62·722f·3e0a··span></a>.<br/>. | ||
| 00000900:· | 00000900:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
| 00000910:·2 | 00000910:·2074·6974·6c65·3d22·6b65·7977·6f72·6422···title="keyword" | ||
| 00000920:· | 00000920:·3e52·6571·7569·7265·3c2f·7370·616e·3e20··>Require</span>· | ||
| 00000930:· | 00000930:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
| 00000940:·2 | 00000940:·2074·6974·6c65·3d22·6b65·7977·6f72·6422···title="keyword" | ||
| 00000950:· | 00000950:·3e49·6d70·6f72·743c·2f73·7061·6e3e·203c··>Import</span>·< | ||
| 00000960:· | 00000960:·6120·636c·6173·733d·2269·6472·6566·2220··a·class="idref"· | ||
| 00000970:· | 00000970:·6872·6566·3d22·436f·712e·5072·6f67·7261··href="Coq.Progra | ||
| 00000980:·6 | 00000980:·6d2e·4261·7369·6373·2e68·746d·6c23·223e··m.Basics.html#"> | ||
| 00000990:·3 | 00000990:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
| 000009a0:·2 | 000009a0:·2074·6974·6c65·3d22·6c69·6272·6172·7922···title="library" | ||
| 000009b0:· | 000009b0:·3e43·6f71·2e50·726f·6772·616d·2e42·6173··>Coq.Program.Bas | ||
| 000009c0:· | 000009c0:·6963·733c·2f73·7061·6e3e·3c2f·613e·2e3c··ics</span></a>.< | ||
| 000009d0:· | 000009d0:·6272·2f3e·0a3c·7370·616e·2063·6c61·7373··br/>.<span·class | ||
| 000009e0:· | 000009e0:·3d22·6964·2220·7469·746c·653d·226b·6579··="id"·title="key | ||
| 000009f0:·7 | 000009f0:·776f·7264·223e·5265·7175·6972·653c·2f73··word">Require</s | ||
| 00000a00:·7 | 00000a00:·7061·6e3e·203c·7370·616e·2063·6c61·7373··pan>·<span·class | ||
| 00000a10:· | 00000a10:·3d22·6964·2220·7469·746c·653d·226b·6579··="id"·title="key | ||
| 00000a20:·7 | 00000a20:·776f·7264·223e·496d·706f·7274·3c2f·7370··word">Import</sp | ||
| 00000a30:· | 00000a30:·616e·3e20·3c61·2063·6c61·7373·3d22·6964··an>·<a·class="id | ||
| 00000a40:· | 00000a40:·7265·6622·2068·7265·663d·2243·6f71·2e50··ref"·href="Coq.P | ||
| 00000a50:· | 00000a50:·726f·6772·616d·2e54·6163·7469·6373·2e68··rogram.Tactics.h | ||
| 00000a60:· | 00000a60:·746d·6c23·223e·3c73·7061·6e20·636c·6173··tml#"><span·clas | ||
| 00000a70:·73 | 00000a70:·733d·2269·6422·2074·6974·6c65·3d22·6c69··s="id"·title="li | ||
| 00000a80:·6 | 00000a80:·6272·6172·7922·3e43·6f71·2e50·726f·6772··brary">Coq.Progr | ||
| 00000a90:· | 00000a90:·616d·2e54·6163·7469·6373·3c2f·7370·616e··am.Tactics</span | ||
| 00000aa0:· | 00000aa0:·3e3c·2f61·3e2e·3c62·722f·3e0a·3c73·7061··></a>.<br/>.<spa | ||
| 00000ab0:·6 | 00000ab0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
| 00000ac0:· | 00000ac0:·6c65·3d22·6b65·7977·6f72·6422·3e52·6571··le="keyword">Req | ||
| 00000ad0:·7 | 00000ad0:·7569·7265·3c2f·7370·616e·3e20·3c73·7061··uire</span>·<spa | ||
| 00000ae0:·6 | 00000ae0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
| 00000af0:· | 00000af0:·6c65·3d22·6b65·7977·6f72·6422·3e49·6d70··le="keyword">Imp | ||
| 00000b00:· | 00000b00:·6f72·743c·2f73·7061·6e3e·203c·6120·636c··ort</span>·<a·cl | ||
| 00000b10:·6 | 00000b10:·6173·733d·2269·6472·6566·2220·6872·6566··ass="idref"·href | ||
| 00000b20:· | 00000b20:·3d22·436f·712e·5265·6c61·7469·6f6e·732e··="Coq.Relations. | ||
| 00000b30:· | 00000b30:·5265·6c61·7469·6f6e·5f44·6566·696e·6974··Relation_Definit | ||
| 00000b40:· | 00000b40:·696f·6e73·2e68·746d·6c23·223e·3c73·7061··ions.html#"><spa | ||
| 00000b50:·6 | 00000b50:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
| 00000b60:· | 00000b60:·6c65·3d22·6c69·6272·6172·7922·3e43·6f71··le="library">Coq | ||
| 00000b70:· | 00000b70:·2e52·656c·6174·696f·6e73·2e52·656c·6174··.Relations.Relat | ||
| 00000b80:· | 00000b80:·696f·6e5f·4465·6669·6e69·7469·6f6e·733c··ion_Definitions< | ||
| 00000b90:· | 00000b90:·2f73·7061·6e3e·3c2f·613e·2e3c·6272·2f3e··/span></a>.<br/> | ||
| 00000ba0:· | 00000ba0:·0a0a·3c62·722f·3e0a·3c73·7061·6e20·636c··..<br/>.<span·cl | ||
| 00000bb0:·6 | 00000bb0:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
| 00000bc0:· | 00000bc0:·6b65·7977·6f72·6422·3e47·656e·6572·616c··keyword">General | ||
| 00000bd0:·6 | 00000bd0:·697a·6162·6c65·2056·6172·6961·626c·6573··izable·Variables | ||
| 00000be0:· | 00000be0:·3c2f·7370·616e·3e20·3c73·7061·6e20·636c··</span>·<span·cl | ||
| 00000bf0:·6 | 00000bf0:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
| 00000c00:· | 00000c00:·7661·7222·3e41·3c2f·7370·616e·3e20·3c73··var">A</span>·<s | ||
| 00000c10:·7 | 00000c10:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
| 00000c20:· | 00000c20:·6974·6c65·3d22·7661·7222·3e42·3c2f·7370··itle="var">B</sp | ||
| 00000c30:· | 00000c30:·616e·3e20·3c73·7061·6e20·636c·6173·733d··an>·<span·class= | ||
| 00000c40:· | 00000c40:·2269·6422·2074·6974·6c65·3d22·7661·7222··"id"·title="var" | ||
| 00000c50:· | 00000c50:·3e43·3c2f·7370·616e·3e20·3c73·7061·6e20··>C</span>·<span· | ||
| 00000c60:· | 00000c60:·636c·6173·733d·2269·6422·2074·6974·6c65··class="id"·title | ||
| 00000c70:· | 00000c70:·3d22·7661·7222·3e44·3c2f·7370·616e·3e20··="var">D</span>· | ||
| 00000c80:· | 00000c80:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
| 00000c90:·2 | 00000c90:·2074·6974·6c65·3d22·7661·7222·3e52·3c2f···title="var">R</ | ||
| 00000ca0:· | 00000ca0:·7370·616e·3e20·3c73·7061·6e20·636c·6173··span>·<span·clas | ||
| 00000cb0:·73 | 00000cb0:·733d·2269·6422·2074·6974·6c65·3d22·7661··s="id"·title="va | ||
| 00000cc0:· | 00000cc0:·7222·3e53·3c2f·7370·616e·3e20·3c73·7061··r">S</span>·<spa | ||
| 00000cd0:·6 | 00000cd0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
| 00000ce0:· | 00000ce0:·6c65·3d22·7661·7222·3e54·3c2f·7370·616e··le="var">T</span | ||
| 00000cf0:· | 00000cf0:·3e20·3c73·7061·6e20·636c·6173·733d·2269··>·<span·class="i | ||
| 00000d00:·6 | 00000d00:·6422·2074·6974·6c65·3d22·7661·7222·3e55··d"·title="var">U | ||
| 00000d10:· | 00000d10:·3c2f·7370·616e·3e20·3c73·7061·6e20·636c··</span>·<span·cl | ||
| 00000d20:·6 | 00000d20:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
| 00000d30:· | 00000d30:·7661·7222·3e6c·3c2f·7370·616e·3e20·3c73··var">l</span>·<s | ||
| 00000d40:·7 | 00000d40:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
| 00000d50:· | 00000d50:·6974·6c65·3d22·7661·7222·3e65·7141·3c2f··itle="var">eqA</ | ||
| 00000d60:· | 00000d60:·7370·616e·3e20·3c73·7061·6e20·636c·6173··span>·<span·clas | ||
| 00000d70:·73 | 00000d70:·733d·2269·6422·2074·6974·6c65·3d22·7661··s="id"·title="va | ||
| 00000d80:· | 00000d80:·7222·3e65·7142·3c2f·7370·616e·3e20·3c73··r">eqB</span>·<s | ||
| 00000d90:·7 | 00000d90:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
| 00000da0:· | 00000da0:·6974·6c65·3d22·7661·7222·3e65·7143·3c2f··itle="var">eqC</ | ||
| 00000db0:· | 00000db0:·7370·616e·3e20·3c73·7061·6e20·636c·6173··span>·<span·clas | ||
| 00000dc0:·73 | 00000dc0:·733d·2269·6422·2074·6974·6c65·3d22·7661··s="id"·title="va | ||
| 00000dd0:· | 00000dd0:·7222·3e65·7144·3c2f·7370·616e·3e2e·3c62··r">eqD</span>.<b | ||
| 00000de0:· | 00000de0:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | ||
| 00000df0:· | 00000df0:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | ||
| 00000e00:·6 | 00000e00:·6f63·223e·0a57·6520·616c·6c6f·7720·746f··oc">.We·allow·to | ||
| 00000e10:· | 00000e10:·2075·6e66·6f6c·6420·7468·6520·3c73·7061···unfold·the·<spa | ||
| 00000e20:·6 | 00000e20:·6e20·636c·6173·733d·2269·6e6c·696e·6563··n·class="inlinec | ||
| 00000e30:·6 | 00000e30:·6f64·6522·3e3c·7370·616e·2063·6c61·7373··ode"><span·class | ||
| Max diff block lines reached; -1/1103875 bytes (-0.00%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab13"></a><h1·class="section">Relations·over·pairs</h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.SetoidList.html#"><span·class="id"·title="library">SetoidList</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.SetoidList.html#"><span·class="id"·title="library">SetoidList</span></a>.<br/> | 
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relations.html#"><span·class="id"·title="library">Relations</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relations.html#"><span·class="id"·title="library">Relations</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab8 | 49 | <a·id="lab8"></a><h1·class="section">Typeclass-based·setoids,·tactics·and·standard·instances.</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau | 
| 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab16"></a><h1·class="section">Decidable·setoid·equality·theory.</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau | 
| 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab7"></a><h1·class="section">Tactics·for·typeclass-based·setoids.</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau | 
| 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 47, 15 lines modified | Offset 47, 15 lines modified | ||
| 47 | <br/> | 47 | <br/> | 
| 48 | <br/> | 48 | <br/> | 
| 49 | </div> | 49 | </div> | 
| 50 | <div·class="doc"> | 50 | <div·class="doc"> | 
| 51 | <a·id="lab | 51 | <a·id="lab580"></a><h1·class="section">FMapAVL</h1> | 
| 52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> | 
| 53 | ·This·module·implements·maps·using·AVL·trees. | 53 | ·This·module·implements·maps·using·AVL·trees. | 
| 54 | ····It·follows·the·implementation·from·Ocaml's·standard·library. | 54 | ····It·follows·the·implementation·from·Ocaml's·standard·library. | 
| 55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> | 
| Offset 84, 15 lines modified | Offset 84, 15 lines modified | ||
| 84 | <span·class="id"·title="keyword">Notation</span>·<a·id="0ecba978737ceb119698c5cbbee795eb"·class="idref"·href="#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">"</span></a>s·#1"·:=·(<a·class="idref"·href="Coq.Init.Datatypes.html#fst"><span·class="id"·title="definition">fst</span></a>·<span·class="id"·title="var">s</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·9,·<span·class="id"·title="var">format</span>·"s·'#1'")·:·<span·class="id"·title="var">pair_scope</span>.<br/> | 84 | <span·class="id"·title="keyword">Notation</span>·<a·id="0ecba978737ceb119698c5cbbee795eb"·class="idref"·href="#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">"</span></a>s·#1"·:=·(<a·class="idref"·href="Coq.Init.Datatypes.html#fst"><span·class="id"·title="definition">fst</span></a>·<span·class="id"·title="var">s</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·9,·<span·class="id"·title="var">format</span>·"s·'#1'")·:·<span·class="id"·title="var">pair_scope</span>.<br/> | 
| 85 | <span·class="id"·title="keyword">Notation</span>·<a·id="3434f18bfdd992fed799ae34b564c3f9"·class="idref"·href="#3434f18bfdd992fed799ae34b564c3f9"><span·class="id"·title="notation">"</span></a>s·#2"·:=·(<a·class="idref"·href="Coq.Init.Datatypes.html#snd"><span·class="id"·title="definition">snd</span></a>·<span·class="id"·title="var">s</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·9,·<span·class="id"·title="var">format</span>·"s·'#2'")·:·<span·class="id"·title="var">pair_scope</span>.<br/> | 85 | <span·class="id"·title="keyword">Notation</span>·<a·id="3434f18bfdd992fed799ae34b564c3f9"·class="idref"·href="#3434f18bfdd992fed799ae34b564c3f9"><span·class="id"·title="notation">"</span></a>s·#2"·:=·(<a·class="idref"·href="Coq.Init.Datatypes.html#snd"><span·class="id"·title="definition">snd</span></a>·<span·class="id"·title="var">s</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·9,·<span·class="id"·title="var">format</span>·"s·'#2'")·:·<span·class="id"·title="var">pair_scope</span>.<br/> | 
| 86 | <br/> | 86 | <br/> | 
| 87 | </div> | 87 | </div> | 
| 88 | <div·class="doc"> | 88 | <div·class="doc"> | 
| 89 | <a·id="lab | 89 | <a·id="lab581"></a><h1·class="section">The·Raw·functor</h1> | 
| 90 | <div·class="paragraph">·</div> | 90 | <div·class="paragraph">·</div> | 
| 91 | ···Functor·of·pure·functions·+·separate·proofs·of·invariant | 91 | ···Functor·of·pure·functions·+·separate·proofs·of·invariant | 
| 92 | ···preservation· | 92 | ···preservation· | 
| 93 | </div> | 93 | </div> | 
| Offset 110, 19 lines modified | Offset 110, 19 lines modified | ||
| 110 | #[<span·class="id"·title="var">global</span>]<br/> | 110 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 111 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Transparent</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.key"><span·class="id"·title="definition">key</span></a>·:·<span·class="id"·title="var">core</span>.<br/> | 111 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Transparent</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.key"><span·class="id"·title="definition">key</span></a>·:·<span·class="id"·title="var">core</span>.<br/> | 
| 112 | <br/> | 112 | <br/> | 
| 113 | </div> | 113 | </div> | 
| 114 | <div·class="doc"> | 114 | <div·class="doc"> | 
| 115 | <a·id="lab | 115 | <a·id="lab582"></a><h1·class="section">Trees</h1> | 
| 116 | <div·class="paragraph">·</div> | 116 | <div·class="paragraph">·</div> | 
| 117 | <a·id="lab | 117 | <a·id="lab583"></a><h1·class="section">Trees</h1> | 
| 118 | <div·class="paragraph">·</div> | 118 | <div·class="paragraph">·</div> | 
| 119 | ···The·fifth·field·of·<span·class="inlinecode"><span·class="id"·title="var">Node</span></span>·is·the·height·of·the·tree· | 119 | ···The·fifth·field·of·<span·class="inlinecode"><span·class="id"·title="var">Node</span></span>·is·the·height·of·the·tree· | 
| 120 | </div> | 120 | </div> | 
| 121 | <div·class="code"> | 121 | <div·class="code"> | 
| Offset 146, 15 lines modified | Offset 146, 15 lines modified | ||
| 146 | <br/> | 146 | <br/> | 
| 147 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Types</span>·<span·class="id"·title="var">m</span>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>.<br/> | 147 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Types</span>·<span·class="id"·title="var">m</span>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>.<br/> | 
| 148 | <br/> | 148 | <br/> | 
| 149 | </div> | 149 | </div> | 
| 150 | <div·class="doc"> | 150 | <div·class="doc"> | 
| 151 | <a·id="lab | 151 | <a·id="lab584"></a><h1·class="section">Basic·functions·on·trees:·height·and·cardinal</h1> | 
| 152 | </div> | 152 | </div> | 
| 153 | <div·class="code"> | 153 | <div·class="code"> | 
| 154 | <br/> | 154 | <br/> | 
| 155 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.height"·class="idref"·href="#Raw.height"><span·class="id"·title="definition">height</span></a>·(<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>)·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.int"><span·class="id"·title="abbreviation">int</span></a>·:=<br/> | 155 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.height"·class="idref"·href="#Raw.height"><span·class="id"·title="definition">height</span></a>·(<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>)·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.int"><span·class="id"·title="abbreviation">int</span></a>·:=<br/> | 
| 156 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#m:6"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 156 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#m:6"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 169, 39 lines modified | Offset 169, 39 lines modified | ||
| 169 |    |·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">r</span>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.FSets.FMapAVL.html#cardinal:9"><span·class="id"·title="definition">cardinal</span></a>·<span·class="id"·title="var">l</span>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#cardinal:9"><span·class="id"·title="definition">cardinal</span></a>·<span·class="id"·title="var">r</span>)<br/> | 169 |    |·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">r</span>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.FSets.FMapAVL.html#cardinal:9"><span·class="id"·title="definition">cardinal</span></a>·<span·class="id"·title="var">l</span>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#cardinal:9"><span·class="id"·title="definition">cardinal</span></a>·<span·class="id"·title="var">r</span>)<br/> | 
| 170 |   <span·class="id"·title="keyword">end</span>.<br/> | 170 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 171 | <br/> | 171 | <br/> | 
| 172 | </div> | 172 | </div> | 
| 173 | <div·class="doc"> | 173 | <div·class="doc"> | 
| 174 | <a·id="lab | 174 | <a·id="lab585"></a><h1·class="section">Empty·Map</h1> | 
| 175 | </div> | 175 | </div> | 
| 176 | <div·class="code"> | 176 | <div·class="code"> | 
| 177 | <br/> | 177 | <br/> | 
| 178 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 178 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 
| 179 | <br/> | 179 | <br/> | 
| 180 | </div> | 180 | </div> | 
| 181 | <div·class="doc"> | 181 | <div·class="doc"> | 
| 182 | <a·id="lab | 182 | <a·id="lab586"></a><h1·class="section">Emptyness·test</h1> | 
| 183 | </div> | 183 | </div> | 
| 184 | <div·class="code"> | 184 | <div·class="code"> | 
| 185 | <br/> | 185 | <br/> | 
| 186 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·id="m:11"·class="idref"·href="#m:11"><span·class="id"·title="binder">m</span></a>·:=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#m:11"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·|·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<span·class="id"·title="keyword">end</span>.<br/> | 186 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·id="m:11"·class="idref"·href="#m:11"><span·class="id"·title="binder">m</span></a>·:=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#m:11"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·|·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<span·class="id"·title="keyword">end</span>.<br/> | 
| 187 | <br/> | 187 | <br/> | 
| 188 | </div> | 188 | </div> | 
| 189 | <div·class="doc"> | 189 | <div·class="doc"> | 
| 190 | <a·id="lab | 190 | <a·id="lab587"></a><h1·class="section">Membership</h1> | 
| 191 | <div·class="paragraph">·</div> | 191 | <div·class="paragraph">·</div> | 
| 192 | ·The·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·function·is·deciding·membership.·It·exploits·the·<span·class="inlinecode"><span·class="id"·title="var">bst</span></span>·property | 192 | ·The·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·function·is·deciding·membership.·It·exploits·the·<span·class="inlinecode"><span·class="id"·title="var">bst</span></span>·property | 
| 193 | ····to·achieve·logarithmic·complexity.· | 193 | ····to·achieve·logarithmic·complexity.· | 
| 194 | </div> | 194 | </div> | 
| 195 | <div·class="code"> | 195 | <div·class="code"> | 
| Offset 228, 15 lines modified | Offset 228, 15 lines modified | ||
| 228 |          <span·class="id"·title="keyword">end</span><br/> | 228 |          <span·class="id"·title="keyword">end</span><br/> | 
| 229 |    <span·class="id"·title="keyword">end</span>.<br/> | 229 |    <span·class="id"·title="keyword">end</span>.<br/> | 
| 230 | <br/> | 230 | <br/> | 
| 231 | </div> | 231 | </div> | 
| 232 | <div·class="doc"> | 232 | <div·class="doc"> | 
| 233 | <a·id="lab | 233 | <a·id="lab588"></a><h1·class="section">Helper·functions</h1> | 
| 234 | <div·class="paragraph">·</div> | 234 | <div·class="paragraph">·</div> | 
| 235 | ·<span·class="inlinecode"><span·class="id"·title="var">create</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·creates·a·node,·assuming·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span> | 235 | ·<span·class="inlinecode"><span·class="id"·title="var">create</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·creates·a·node,·assuming·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span> | 
| 236 | ····to·be·balanced·and·<span·class="inlinecode">|<span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode">-</span>·<span·class="inlinecode"><span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span>|</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode">2</span>.· | 236 | ····to·be·balanced·and·<span·class="inlinecode">|<span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode">-</span>·<span·class="inlinecode"><span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span>|</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode">2</span>.· | 
| 237 | </div> | 237 | </div> | 
| 238 | <div·class="code"> | 238 | <div·class="code"> | 
| Offset 291, 15 lines modified | Offset 291, 15 lines modified | ||
| 291 |     <span·class="id"·title="keyword">else</span><br/> | 291 |     <span·class="id"·title="keyword">else</span><br/> | 
| 292 |       <a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.create"><span·class="id"·title="definition">create</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#l:25"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#x:26"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#d:27"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#r:28"><span·class="id"·title="variable">r</span></a>.<br/> | 292 |       <a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.create"><span·class="id"·title="definition">create</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#l:25"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#x:26"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#d:27"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#r:28"><span·class="id"·title="variable">r</span></a>.<br/> | 
| Max diff block lines reached; 88547/97305 bytes (91.00%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab560"></a><h1·class="section">Finite·maps·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>.·These | 51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>.·These | 
| 52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>·written·using | 52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>·written·using | 
| 53 | ··different·styles:·equivalence·and·boolean·equalities. | 53 | ··different·styles:·equivalence·and·boolean·equalities. | 
| Offset 72, 15 lines modified | Offset 72, 15 lines modified | ||
| 72 | #[<span·class="id"·title="var">global</span>]<br/> | 72 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 73 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Extern</span>·1·(<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<span·class="id"·title="var">_</span>)·=>·<span·class="id"·title="tactic">constructor</span>;·<span·class="id"·title="tactic">congruence</span>·:·<span·class="id"·title="var">core</span>.<br/> | 73 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Extern</span>·1·(<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<span·class="id"·title="var">_</span>)·=>·<span·class="id"·title="tactic">constructor</span>;·<span·class="id"·title="tactic">congruence</span>·:·<span·class="id"·title="var">core</span>.<br/> | 
| 74 | <br/> | 74 | <br/> | 
| 75 | </div> | 75 | </div> | 
| 76 | <div·class="doc"> | 76 | <div·class="doc"> | 
| 77 | <a·id="lab | 77 | <a·id="lab561"></a><h1·class="section">Facts·about·weak·maps</h1> | 
| 78 | </div> | 78 | </div> | 
| 79 | <div·class="code"> | 79 | <div·class="code"> | 
| 80 | <br/> | 80 | <br/> | 
| 81 | <span·class="id"·title="keyword">Module</span>·<a·id="WFacts_fun"·class="idref"·href="#WFacts_fun"><span·class="id"·title="module">WFacts_fun</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 81 | <span·class="id"·title="keyword">Module</span>·<a·id="WFacts_fun"·class="idref"·href="#WFacts_fun"><span·class="id"·title="module">WFacts_fun</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 
| Offset 99, 15 lines modified | Offset 99, 15 lines modified | ||
| 99 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.MapsTo_fun"·class="idref"·href="#WFacts_fun.MapsTo_fun"><span·class="id"·title="lemma">MapsTo_fun</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="elt:9"·class="idref"·href="#elt:9"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)·<a·id="m:10"·class="idref"·href="#m:10"><span·class="id"·title="binder">m</span></a>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>·(<a·id="e:12"·class="idref"·href="#e:12"><span·class="id"·title="binder">e</span></a>·<a·id="e':13"·class="idref"·href="#e':13"><span·class="id"·title="binder">e'</span></a>:<a·class="idref"·href="Coq.FSets.FMapFacts.html#elt:9"><span·class="id"·title="variable">elt</span></a>),<br/> | 99 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.MapsTo_fun"·class="idref"·href="#WFacts_fun.MapsTo_fun"><span·class="id"·title="lemma">MapsTo_fun</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="elt:9"·class="idref"·href="#elt:9"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)·<a·id="m:10"·class="idref"·href="#m:10"><span·class="id"·title="binder">m</span></a>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>·(<a·id="e:12"·class="idref"·href="#e:12"><span·class="id"·title="binder">e</span></a>·<a·id="e':13"·class="idref"·href="#e':13"><span·class="id"·title="binder">e'</span></a>:<a·class="idref"·href="Coq.FSets.FMapFacts.html#elt:9"><span·class="id"·title="variable">elt</span></a>),<br/> | 
| 100 |   <a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#x:11"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:12"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:10"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#x:11"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e':13"><span·class="id"·title="variable">e'</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:10"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:12"><span·class="id"·title="variable">e</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a><a·class="idref"·href="Coq.FSets.FMapFacts.html#e':13"><span·class="id"·title="variable">e'</span></a>.<br/> | 100 |   <a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#x:11"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:12"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:10"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#x:11"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e':13"><span·class="id"·title="variable">e'</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:10"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:12"><span·class="id"·title="variable">e</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a><a·class="idref"·href="Coq.FSets.FMapFacts.html#e':13"><span·class="id"·title="variable">e'</span></a>.<br/> | 
| 101 | <br/> | 101 | <br/> | 
| 102 | </div> | 102 | </div> | 
| 103 | <div·class="doc"> | 103 | <div·class="doc"> | 
| 104 | <a·id="lab | 104 | <a·id="lab562"></a><h2·class="section">Specifications·written·using·equivalences</h2> | 
| 105 | </div> | 105 | </div> | 
| 106 | <div·class="code"> | 106 | <div·class="code"> | 
| 107 | <br/> | 107 | <br/> | 
| 108 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.IffSpec"·class="idref"·href="#WFacts_fun.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> | 108 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.IffSpec"·class="idref"·href="#WFacts_fun.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> | 
| 109 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.IffSpec.elt"·class="idref"·href="#WFacts_fun.IffSpec.elt"><span·class="id"·title="variable">elt</span></a>·<a·id="WFacts_fun.IffSpec.elt'"·class="idref"·href="#WFacts_fun.IffSpec.elt'"><span·class="id"·title="variable">elt'</span></a>·<a·id="WFacts_fun.IffSpec.elt''"·class="idref"·href="#WFacts_fun.IffSpec.elt''"><span·class="id"·title="variable">elt''</span></a>:·<span·class="id"·title="keyword">Type</span>.<br/> | 109 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.IffSpec.elt"·class="idref"·href="#WFacts_fun.IffSpec.elt"><span·class="id"·title="variable">elt</span></a>·<a·id="WFacts_fun.IffSpec.elt'"·class="idref"·href="#WFacts_fun.IffSpec.elt'"><span·class="id"·title="variable">elt'</span></a>·<a·id="WFacts_fun.IffSpec.elt''"·class="idref"·href="#WFacts_fun.IffSpec.elt''"><span·class="id"·title="variable">elt''</span></a>:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| Offset 256, 15 lines modified | Offset 256, 15 lines modified | ||
| 256 |   <span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.map_mapsto_iff"><span·class="id"·title="lemma">map_mapsto_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.map_in_iff"><span·class="id"·title="lemma">map_in_iff</span></a>·||<br/> | 256 |   <span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.map_mapsto_iff"><span·class="id"·title="lemma">map_mapsto_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.map_in_iff"><span·class="id"·title="lemma">map_in_iff</span></a>·||<br/> | 
| 257 |   <span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.mapi_in_iff"><span·class="id"·title="lemma">mapi_in_iff</span></a>)).<br/> | 257 |   <span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.mapi_in_iff"><span·class="id"·title="lemma">mapi_in_iff</span></a>)).<br/> | 
| 258 | <br/> | 258 | <br/> | 
| 259 | </div> | 259 | </div> | 
| 260 | <div·class="doc"> | 260 | <div·class="doc"> | 
| 261 | <a·id="lab | 261 | <a·id="lab563"></a><h2·class="section">Specifications·written·using·boolean·predicates</h2> | 
| 262 | </div> | 262 | </div> | 
| 263 | <div·class="code"> | 263 | <div·class="code"> | 
| 264 | <br/> | 264 | <br/> | 
| 265 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.BoolSpec"·class="idref"·href="#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 265 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.BoolSpec"·class="idref"·href="#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 
| Offset 395, 15 lines modified | Offset 395, 15 lines modified | ||
| 395 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.Equal_mapsto_iff"·class="idref"·href="#WFacts_fun.Equal_mapsto_iff"><span·class="id"·title="lemma">Equal_mapsto_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m1:211"·class="idref"·href="#m1:211"><span·class="id"·title="binder">m1</span></a>·<a·id="m2:212"·class="idref"·href="#m2:212"><span·class="id"·title="binder">m2</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.Equalities.elt"><span·class="id"·title="variable">elt</span></a>,<br/> | 395 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.Equal_mapsto_iff"·class="idref"·href="#WFacts_fun.Equal_mapsto_iff"><span·class="id"·title="lemma">Equal_mapsto_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m1:211"·class="idref"·href="#m1:211"><span·class="id"·title="binder">m1</span></a>·<a·id="m2:212"·class="idref"·href="#m2:212"><span·class="id"·title="binder">m2</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.Equalities.elt"><span·class="id"·title="variable">elt</span></a>,<br/> | 
| 396 |  <a·class="idref"·href="Coq.FSets.FMapFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m1:211"><span·class="id"·title="variable">m1</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m2:212"><span·class="id"·title="variable">m2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="k:213"·class="idref"·href="#k:213"><span·class="id"·title="binder">k</span></a>·<a·id="e:214"·class="idref"·href="#e:214"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:213"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:214"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m1:211"><span·class="id"·title="variable">m1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:213"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:214"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m2:212"><span·class="id"·title="variable">m2</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>.<br/> | 396 |  <a·class="idref"·href="Coq.FSets.FMapFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m1:211"><span·class="id"·title="variable">m1</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m2:212"><span·class="id"·title="variable">m2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="k:213"·class="idref"·href="#k:213"><span·class="id"·title="binder">k</span></a>·<a·id="e:214"·class="idref"·href="#e:214"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:213"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:214"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m1:211"><span·class="id"·title="variable">m1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:213"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:214"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m2:212"><span·class="id"·title="variable">m2</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 397 | <br/> | 397 | <br/> | 
| 398 | </div> | 398 | </div> | 
| 399 | <div·class="doc"> | 399 | <div·class="doc"> | 
| 400 | <a·id="lab | 400 | <a·id="lab564"></a><h1·class="section">Relations·between·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Equiv</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equivb</span></span>.</h1> | 
| 401 | <div·class="paragraph">·</div> | 401 | <div·class="paragraph">·</div> | 
| 402 | ·First,·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">Equiv</span></span>·with·Leibniz·on·elements.· | 402 | ·First,·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">Equiv</span></span>·with·Leibniz·on·elements.· | 
| 403 | </div> | 403 | </div> | 
| 404 | <div·class="code"> | 404 | <div·class="code"> | 
| Offset 457, 15 lines modified | Offset 457, 15 lines modified | ||
| 457 | <br/> | 457 | <br/> | 
| 458 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.Equalities"><span·class="id"·title="section">Equalities</span></a>.<br/> | 458 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.Equalities"><span·class="id"·title="section">Equalities</span></a>.<br/> | 
| 459 | <br/> | 459 | <br/> | 
| 460 | </div> | 460 | </div> | 
| 461 | <div·class="doc"> | 461 | <div·class="doc"> | 
| 462 | <a·id="lab | 462 | <a·id="lab565"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·is·a·setoid·equality.</h1> | 
| 463 | </div> | 463 | </div> | 
| 464 | <div·class="code"> | 464 | <div·class="code"> | 
| 465 | <br/> | 465 | <br/> | 
| 466 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.Equal_refl"·class="idref"·href="#WFacts_fun.Equal_refl"><span·class="id"·title="lemma">Equal_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="elt:238"·class="idref"·href="#elt:238"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="m:239"·class="idref"·href="#m:239"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#elt:238"><span·class="id"·title="variable">elt</span></a>),·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:239"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:239"><span·class="id"·title="variable">m</span></a>.<br/> | 466 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.Equal_refl"·class="idref"·href="#WFacts_fun.Equal_refl"><span·class="id"·title="lemma">Equal_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="elt:238"·class="idref"·href="#elt:238"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="m:239"·class="idref"·href="#m:239"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#elt:238"><span·class="id"·title="variable">elt</span></a>),·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:239"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:239"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 467 | · | 467 | · | 
| Offset 541, 28 lines modified | Offset 541, 28 lines modified | ||
| 541 | <br/> | 541 | <br/> | 
| 542 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun"><span·class="id"·title="module">WFacts_fun</span></a>.<br/> | 542 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun"><span·class="id"·title="module">WFacts_fun</span></a>.<br/> | 
| 543 | <br/> | 543 | <br/> | 
| 544 | </div> | 544 | </div> | 
| 545 | <div·class="doc"> | 545 | <div·class="doc"> | 
| 546 | <a·id="lab | 546 | <a·id="lab566"></a><h1·class="section">Same·facts·for·self-contained·weak·sets·and·for·full·maps</h1> | 
| 547 | </div> | 547 | </div> | 
| 548 | <div·class="code"> | 548 | <div·class="code"> | 
| 549 | <br/> | 549 | <br/> | 
| 550 | <span·class="id"·title="keyword">Module</span>·<a·id="WFacts"·class="idref"·href="#WFacts"><span·class="id"·title="module">WFacts</span></a>·(<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS"><span·class="id"·title="module">WS</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun"><span·class="id"·title="module">WFacts_fun</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.E"><span·class="id"·title="module">M.E</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 550 | <span·class="id"·title="keyword">Module</span>·<a·id="WFacts"·class="idref"·href="#WFacts"><span·class="id"·title="module">WFacts</span></a>·(<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS"><span·class="id"·title="module">WS</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun"><span·class="id"·title="module">WFacts_fun</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.E"><span·class="id"·title="module">M.E</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 
| 551 | <span·class="id"·title="keyword">Module</span>·<a·id="Facts"·class="idref"·href="#Facts"><span·class="id"·title="module">Facts</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts"><span·class="id"·title="module">WFacts</span></a>.<br/> | 551 | <span·class="id"·title="keyword">Module</span>·<a·id="Facts"·class="idref"·href="#Facts"><span·class="id"·title="module">Facts</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts"><span·class="id"·title="module">WFacts</span></a>.<br/> | 
| 552 | <br/> | 552 | <br/> | 
| 553 | </div> | 553 | </div> | 
| 554 | <div·class="doc"> | 554 | <div·class="doc"> | 
| 555 | <a·id="lab67 | 555 | <a·id="lab567"></a><h1·class="section">Additional·Properties·for·weak·maps</h1> | 
| 556 | <div·class="paragraph">·</div> | 556 | <div·class="paragraph">·</div> | 
| 557 | ····Results·about·<span·class="inlinecode"><span·class="id"·title="tactic">fold</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">elements</span></span>,·induction·principles... | 557 | ····Results·about·<span·class="inlinecode"><span·class="id"·title="tactic">fold</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">elements</span></span>,·induction·principles... | 
| 558 | </div> | 558 | </div> | 
| Offset 614, 30 lines modified | Offset 614, 30 lines modified | ||
| 614 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.findA_rev"·class="idref"·href="#WProperties_fun.findA_rev"><span·class="id"·title="lemma">findA_rev</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:284"·class="idref"·href="#l:284"><span·class="id"·title="binder">l</span></a>·<a·id="k:285"·class="idref"·href="#k:285"><span·class="id"·title="binder">k</span></a>,·<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqk"><span·class="id"·title="abbreviation">eqk</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 614 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.findA_rev"·class="idref"·href="#WProperties_fun.findA_rev"><span·class="id"·title="lemma">findA_rev</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:284"·class="idref"·href="#l:284"><span·class="id"·title="binder">l</span></a>·<a·id="k:285"·class="idref"·href="#k:285"><span·class="id"·title="binder">k</span></a>,·<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqk"><span·class="id"·title="abbreviation">eqk</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 615 |     <a·class="idref"·href="Coq.Lists.SetoidList.html#findA"><span·class="id"·title="definition">findA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:285"><span·class="id"·title="variable">k</span></a>)·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.SetoidList.html#findA"><span·class="id"·title="definition">findA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:285"><span·class="id"·title="variable">k</span></a>)·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>).<br/> | 615 |     <a·class="idref"·href="Coq.Lists.SetoidList.html#findA"><span·class="id"·title="definition">findA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:285"><span·class="id"·title="variable">k</span></a>)·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.SetoidList.html#findA"><span·class="id"·title="definition">findA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:285"><span·class="id"·title="variable">k</span></a>)·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>).<br/> | 
| Max diff block lines reached; 24534/39395 bytes (62.28%) of diff not shown. | |||
| Offset 47, 15 lines modified | Offset 47, 15 lines modified | ||
| 47 | <br/> | 47 | <br/> | 
| 48 | <br/> | 48 | <br/> | 
| 49 | </div> | 49 | </div> | 
| 50 | <div·class="doc"> | 50 | <div·class="doc"> | 
| 51 | <a·id="lab6 | 51 | <a·id="lab664"></a><h1·class="section">FMapFullAVL</h1> | 
| 52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> | 
| 53 | ···This·file·contains·some·complements·to·<span·class="inlinecode"><span·class="id"·title="var">FMapAVL</span></span>. | 53 | ···This·file·contains·some·complements·to·<span·class="inlinecode"><span·class="id"·title="var">FMapAVL</span></span>. | 
| 54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> | 
| Offset 115, 15 lines modified | Offset 115, 15 lines modified | ||
| 115 | <span·class="id"·title="keyword">Variable</span>·<a·id="AvlProofs.Elt.elt"·class="idref"·href="#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 115 | <span·class="id"·title="keyword">Variable</span>·<a·id="AvlProofs.Elt.elt"·class="idref"·href="#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| 116 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Types</span>·<span·class="id"·title="var">m</span>·<span·class="id"·title="var">r</span>·:·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.t"><span·class="id"·title="abbreviation">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>.<br/> | 116 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Types</span>·<span·class="id"·title="var">m</span>·<span·class="id"·title="var">r</span>·:·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.t"><span·class="id"·title="abbreviation">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>.<br/> | 
| 117 | <br/> | 117 | <br/> | 
| 118 | </div> | 118 | </div> | 
| 119 | <div·class="doc"> | 119 | <div·class="doc"> | 
| 120 | <a·id="lab | 120 | <a·id="lab665"></a><h1·class="section">AVL·trees</h1> | 
| 121 | <div·class="paragraph">·</div> | 121 | <div·class="paragraph">·</div> | 
| 122 | ·<span·class="inlinecode"><span·class="id"·title="var">avl</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·:·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·is·a·properly·balanced·AVL·tree, | 122 | ·<span·class="inlinecode"><span·class="id"·title="var">avl</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·:·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·is·a·properly·balanced·AVL·tree, | 
| 123 | ····i.e.·for·any·node·the·heights·of·the·two·children | 123 | ····i.e.·for·any·node·the·heights·of·the·two·children | 
| 124 | ····differ·by·at·most·2· | 124 | ····differ·by·at·most·2· | 
| 125 | </div> | 125 | </div> | 
| Offset 139, 15 lines modified | Offset 139, 15 lines modified | ||
| 139 |       <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:9"><span·class="id"·title="variable">h</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#I.max"><span·class="id"·title="axiom">max</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:7"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:8"><span·class="id"·title="variable">r</span></a>)·<a·class="idref"·href="Coq.ZArith.Int.html#004c359642fbe9dbd252a6335642f93a"><span·class="id"·title="notation">+</span></a>·1·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 139 |       <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:9"><span·class="id"·title="variable">h</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#I.max"><span·class="id"·title="axiom">max</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:7"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:8"><span·class="id"·title="variable">r</span></a>)·<a·class="idref"·href="Coq.ZArith.Int.html#004c359642fbe9dbd252a6335642f93a"><span·class="id"·title="notation">+</span></a>·1·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 140 |       <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#avl:3"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:7"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:5"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:6"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:8"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:9"><span·class="id"·title="variable">h</span></a>).<br/> | 140 |       <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#avl:3"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:7"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:5"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:6"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:8"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:9"><span·class="id"·title="variable">h</span></a>).<br/> | 
| 141 | <br/> | 141 | <br/> | 
| 142 | </div> | 142 | </div> | 
| 143 | <div·class="doc"> | 143 | <div·class="doc"> | 
| 144 | <a·id="lab | 144 | <a·id="lab666"></a><h1·class="section">Automation·and·dedicated·tactics·about·<span·class="inlinecode"><span·class="id"·title="var">avl</span></span>.</h1> | 
| 145 | </div> | 145 | </div> | 
| 146 | <div·class="code"> | 146 | <div·class="code"> | 
| 147 | <br/> | 147 | <br/> | 
| 148 | #[<span·class="id"·title="var">local</span>]<br/> | 148 | #[<span·class="id"·title="var">local</span>]<br/> | 
| 149 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Constructors</span>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#avl"><span·class="id"·title="inductive">avl</span></a>·:·<span·class="id"·title="var">core</span>.<br/> | 149 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Constructors</span>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#avl"><span·class="id"·title="inductive">avl</span></a>·:·<span·class="id"·title="var">core</span>.<br/> | 
| Offset 177, 15 lines modified | Offset 177, 15 lines modified | ||
| 177 |      |·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">idtac</span><br/> | 177 |      |·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">idtac</span><br/> | 
| 178 |   <span·class="id"·title="keyword">end</span>.<br/> | 178 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 179 | <br/> | 179 | <br/> | 
| 180 | </div> | 180 | </div> | 
| 181 | <div·class="doc"> | 181 | <div·class="doc"> | 
| 182 | <a·id="lab | 182 | <a·id="lab667"></a><h1·class="section">Basic·results·about·<span·class="inlinecode"><span·class="id"·title="var">avl</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">height</span></span></h1> | 
| 183 | </div> | 183 | </div> | 
| 184 | <div·class="code"> | 184 | <div·class="code"> | 
| 185 | <br/> | 185 | <br/> | 
| 186 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.avl_node"·class="idref"·href="#AvlProofs.avl_node"><span·class="id"·title="lemma">avl_node</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>·<a·id="e:12"·class="idref"·href="#e:12"><span·class="id"·title="binder">e</span></a>·<a·id="l:13"·class="idref"·href="#l:13"><span·class="id"·title="binder">l</span></a>·<a·id="r:14"·class="idref"·href="#r:14"><span·class="id"·title="binder">r</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:13"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:14"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 186 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.avl_node"·class="idref"·href="#AvlProofs.avl_node"><span·class="id"·title="lemma">avl_node</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>·<a·id="e:12"·class="idref"·href="#e:12"><span·class="id"·title="binder">e</span></a>·<a·id="l:13"·class="idref"·href="#l:13"><span·class="id"·title="binder">l</span></a>·<a·id="r:14"·class="idref"·href="#r:14"><span·class="id"·title="binder">r</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:13"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:14"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 187 |  <a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:'-'_x"><span·class="id"·title="notation">-</span></a>(2)·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:13"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:14"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 187 |  <a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:'-'_x"><span·class="id"·title="notation">-</span></a>(2)·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:13"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:14"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| Offset 205, 27 lines modified | Offset 205, 27 lines modified | ||
| 205 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.height_0"·class="idref"·href="#AvlProofs.height_0"><span·class="id"·title="lemma">height_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:15"·class="idref"·href="#l:15"><span·class="id"·title="binder">l</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 205 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.height_0"·class="idref"·href="#AvlProofs.height_0"><span·class="id"·title="lemma">height_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:15"·class="idref"·href="#l:15"><span·class="id"·title="binder">l</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 206 |  <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<span·class="id"·title="var">_</span>.<br/> | 206 |  <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<span·class="id"·title="var">_</span>.<br/> | 
| 207 | <br/> | 207 | <br/> | 
| 208 | </div> | 208 | </div> | 
| 209 | <div·class="doc"> | 209 | <div·class="doc"> | 
| 210 | <a·id="lab | 210 | <a·id="lab668"></a><h1·class="section">Empty·map</h1> | 
| 211 | </div> | 211 | </div> | 
| 212 | <div·class="code"> | 212 | <div·class="code"> | 
| 213 | <br/> | 213 | <br/> | 
| 214 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.empty_avl"·class="idref"·href="#AvlProofs.empty_avl"><span·class="id"·title="lemma">empty_avl</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.empty"><span·class="id"·title="definition">empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>).<br/> | 214 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.empty_avl"·class="idref"·href="#AvlProofs.empty_avl"><span·class="id"·title="lemma">empty_avl</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.empty"><span·class="id"·title="definition">empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>).<br/> | 
| 215 | <br/> | 215 | <br/> | 
| 216 | </div> | 216 | </div> | 
| 217 | <div·class="doc"> | 217 | <div·class="doc"> | 
| 218 | <a·id="lab | 218 | <a·id="lab669"></a><h1·class="section">Helper·functions</h1> | 
| 219 | </div> | 219 | </div> | 
| 220 | <div·class="code"> | 220 | <div·class="code"> | 
| 221 | <br/> | 221 | <br/> | 
| 222 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.create_avl"·class="idref"·href="#AvlProofs.create_avl"><span·class="id"·title="lemma">create_avl</span></a>·:<br/> | 222 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.create_avl"·class="idref"·href="#AvlProofs.create_avl"><span·class="id"·title="lemma">create_avl</span></a>·:<br/> | 
| 223 |  <span·class="id"·title="keyword">forall</span>·<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="e:18"·class="idref"·href="#e:18"><span·class="id"·title="binder">e</span></a>·<a·id="r:19"·class="idref"·href="#r:19"><span·class="id"·title="binder">r</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:16"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>··<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:'-'_x"><span·class="id"·title="notation">-</span></a>(2)·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:16"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 223 |  <span·class="id"·title="keyword">forall</span>·<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="e:18"·class="idref"·href="#e:18"><span·class="id"·title="binder">e</span></a>·<a·id="r:19"·class="idref"·href="#r:19"><span·class="id"·title="binder">r</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:16"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>··<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:'-'_x"><span·class="id"·title="notation">-</span></a>(2)·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:16"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| Offset 257, 15 lines modified | Offset 257, 15 lines modified | ||
| 257 |      <span·class="id"·title="var">omega_max</span><br/> | 257 |      <span·class="id"·title="var">omega_max</span><br/> | 
| 258 |   <span·class="id"·title="keyword">end</span>.<br/> | 258 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 259 | <br/> | 259 | <br/> | 
| 260 | </div> | 260 | </div> | 
| 261 | <div·class="doc"> | 261 | <div·class="doc"> | 
| 262 | <a·id="lab70 | 262 | <a·id="lab670"></a><h1·class="section">Insertion</h1> | 
| 263 | </div> | 263 | </div> | 
| 264 | <div·class="code"> | 264 | <div·class="code"> | 
| 265 | <br/> | 265 | <br/> | 
| 266 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.add_avl_1"·class="idref"·href="#AvlProofs.add_avl_1"><span·class="id"·title="lemma">add_avl_1</span></a>·:··<span·class="id"·title="keyword">forall</span>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·<a·id="x:37"·class="idref"·href="#x:37"><span·class="id"·title="binder">x</span></a>·<a·id="e:38"·class="idref"·href="#e:38"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 266 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.add_avl_1"·class="idref"·href="#AvlProofs.add_avl_1"><span·class="id"·title="lemma">add_avl_1</span></a>·:··<span·class="id"·title="keyword">forall</span>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·<a·id="x:37"·class="idref"·href="#x:37"><span·class="id"·title="binder">x</span></a>·<a·id="e:38"·class="idref"·href="#e:38"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 267 |  <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:37"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:38"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·0·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:37"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:38"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·1.<br/> | 267 |  <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:37"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:38"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·0·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:37"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:38"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·1.<br/> | 
| Offset 275, 15 lines modified | Offset 275, 15 lines modified | ||
| 275 | #[<span·class="id"·title="var">local</span>]<br/> | 275 | #[<span·class="id"·title="var">local</span>]<br/> | 
| 276 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">add_avl</span>·:·<span·class="id"·title="var">core</span>.<br/> | 276 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">add_avl</span>·:·<span·class="id"·title="var">core</span>.<br/> | 
| 277 | <br/> | 277 | <br/> | 
| 278 | </div> | 278 | </div> | 
| 279 | <div·class="doc"> | 279 | <div·class="doc"> | 
| 280 | <a·id="lab | 280 | <a·id="lab671"></a><h1·class="section">Extraction·of·minimum·binding</h1> | 
| 281 | </div> | 281 | </div> | 
| 282 | <div·class="code"> | 282 | <div·class="code"> | 
| 283 | <br/> | 283 | <br/> | 
| 284 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.remove_min_avl_1"·class="idref"·href="#AvlProofs.remove_min_avl_1"><span·class="id"·title="lemma">remove_min_avl_1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:42"·class="idref"·href="#l:42"><span·class="id"·title="binder">l</span></a>·<a·id="x:43"·class="idref"·href="#x:43"><span·class="id"·title="binder">x</span></a>·<a·id="e:44"·class="idref"·href="#e:44"><span·class="id"·title="binder">e</span></a>·<a·id="r:45"·class="idref"·href="#r:45"><span·class="id"·title="binder">r</span></a>·<a·id="h:46"·class="idref"·href="#h:46"><span·class="id"·title="binder">h</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:42"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:43"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:44"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:45"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:46"><span·class="id"·title="variable">h</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 284 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.remove_min_avl_1"·class="idref"·href="#AvlProofs.remove_min_avl_1"><span·class="id"·title="lemma">remove_min_avl_1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:42"·class="idref"·href="#l:42"><span·class="id"·title="binder">l</span></a>·<a·id="x:43"·class="idref"·href="#x:43"><span·class="id"·title="binder">x</span></a>·<a·id="e:44"·class="idref"·href="#e:44"><span·class="id"·title="binder">e</span></a>·<a·id="r:45"·class="idref"·href="#r:45"><span·class="id"·title="binder">r</span></a>·<a·id="h:46"·class="idref"·href="#h:46"><span·class="id"·title="binder">h</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:42"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:43"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:44"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:45"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:46"><span·class="id"·title="variable">h</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 285 |  <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.remove_min"><span·class="id"·title="definition">remove_min</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:42"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:43"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:44"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:45"><span·class="id"·title="variable">r</span></a><a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">)#1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 285 |  <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.remove_min"><span·class="id"·title="definition">remove_min</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:42"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:43"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:44"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:45"><span·class="id"·title="variable">r</span></a><a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">)#1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 
| Offset 293, 15 lines modified | Offset 293, 15 lines modified | ||
| 293 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.remove_min_avl"·class="idref"·href="#AvlProofs.remove_min_avl"><span·class="id"·title="lemma">remove_min_avl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:47"·class="idref"·href="#l:47"><span·class="id"·title="binder">l</span></a>·<a·id="x:48"·class="idref"·href="#x:48"><span·class="id"·title="binder">x</span></a>·<a·id="e:49"·class="idref"·href="#e:49"><span·class="id"·title="binder">e</span></a>·<a·id="r:50"·class="idref"·href="#r:50"><span·class="id"·title="binder">r</span></a>·<a·id="h:51"·class="idref"·href="#h:51"><span·class="id"·title="binder">h</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:47"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:48"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:49"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:50"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:51"><span·class="id"·title="variable">h</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 293 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.remove_min_avl"·class="idref"·href="#AvlProofs.remove_min_avl"><span·class="id"·title="lemma">remove_min_avl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:47"·class="idref"·href="#l:47"><span·class="id"·title="binder">l</span></a>·<a·id="x:48"·class="idref"·href="#x:48"><span·class="id"·title="binder">x</span></a>·<a·id="e:49"·class="idref"·href="#e:49"><span·class="id"·title="binder">e</span></a>·<a·id="r:50"·class="idref"·href="#r:50"><span·class="id"·title="binder">r</span></a>·<a·id="h:51"·class="idref"·href="#h:51"><span·class="id"·title="binder">h</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:47"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:48"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:49"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:50"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:51"><span·class="id"·title="variable">h</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 294 |     <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.remove_min"><span·class="id"·title="definition">remove_min</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:47"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:48"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:49"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:50"><span·class="id"·title="variable">r</span></a><a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">)#1</span></a>.<br/> | 294 |     <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.remove_min"><span·class="id"·title="definition">remove_min</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:47"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:48"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:49"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:50"><span·class="id"·title="variable">r</span></a><a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">)#1</span></a>.<br/> | 
| Max diff block lines reached; 12252/32743 bytes (37.42%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab6 | 49 | <a·id="lab655"></a><h1·class="section">Finite·map·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·file·proposes·interfaces·for·finite·maps· | 51 | ·This·file·proposes·interfaces·for·finite·maps· | 
| 52 | </div> | 52 | </div> | 
| 53 | <div·class="code"> | 53 | <div·class="code"> | 
| Offset 131, 15 lines modified | Offset 131, 15 lines modified | ||
| 131 | <br/> | 131 | <br/> | 
| 132 | <span·class="id"·title="keyword">Definition</span>·<a·id="Cmp"·class="idref"·href="#Cmp"><span·class="id"·title="definition">Cmp</span></a>·(<a·id="elt:1"·class="idref"·href="#elt:1"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="cmp:2"·class="idref"·href="#cmp:2"><span·class="id"·title="binder">cmp</span></a>:<a·class="idref"·href="Coq.FSets.FMapInterface.html#elt:1"><span·class="id"·title="variable">elt</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.FSets.FMapInterface.html#elt:1"><span·class="id"·title="variable">elt</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·<a·id="e1:3"·class="idref"·href="#e1:3"><span·class="id"·title="binder">e1</span></a>·<a·id="e2:4"·class="idref"·href="#e2:4"><span·class="id"·title="binder">e2</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapInterface.html#cmp:2"><span·class="id"·title="variable">cmp</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#e1:3"><span·class="id"·title="variable">e1</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#e2:4"><span·class="id"·title="variable">e2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 132 | <span·class="id"·title="keyword">Definition</span>·<a·id="Cmp"·class="idref"·href="#Cmp"><span·class="id"·title="definition">Cmp</span></a>·(<a·id="elt:1"·class="idref"·href="#elt:1"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="cmp:2"·class="idref"·href="#cmp:2"><span·class="id"·title="binder">cmp</span></a>:<a·class="idref"·href="Coq.FSets.FMapInterface.html#elt:1"><span·class="id"·title="variable">elt</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.FSets.FMapInterface.html#elt:1"><span·class="id"·title="variable">elt</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·<a·id="e1:3"·class="idref"·href="#e1:3"><span·class="id"·title="binder">e1</span></a>·<a·id="e2:4"·class="idref"·href="#e2:4"><span·class="id"·title="binder">e2</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapInterface.html#cmp:2"><span·class="id"·title="variable">cmp</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#e1:3"><span·class="id"·title="variable">e1</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#e2:4"><span·class="id"·title="variable">e2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 
| 133 | <br/> | 133 | <br/> | 
| 134 | </div> | 134 | </div> | 
| 135 | <div·class="doc"> | 135 | <div·class="doc"> | 
| 136 | <a·id="lab6 | 136 | <a·id="lab656"></a><h2·class="section">Weak·signature·for·maps</h2> | 
| 137 | <div·class="paragraph">·</div> | 137 | <div·class="paragraph">·</div> | 
| 138 | ····No·requirements·for·an·ordering·on·keys·nor·elements,·only·decidability | 138 | ····No·requirements·for·an·ordering·on·keys·nor·elements,·only·decidability | 
| 139 | ····of·equality·on·keys.·First,·a·functorial·signature:· | 139 | ····of·equality·on·keys.·First,·a·functorial·signature:· | 
| 140 | </div> | 140 | </div> | 
| Offset 552, 15 lines modified | Offset 552, 15 lines modified | ||
| 552 | <br/> | 552 | <br/> | 
| 553 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>.<br/> | 553 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>.<br/> | 
| 554 | <br/> | 554 | <br/> | 
| 555 | </div> | 555 | </div> | 
| 556 | <div·class="doc"> | 556 | <div·class="doc"> | 
| 557 | <a·id="lab6 | 557 | <a·id="lab657"></a><h2·class="section">Static·signature·for·Weak·Maps</h2> | 
| 558 | <div·class="paragraph">·</div> | 558 | <div·class="paragraph">·</div> | 
| 559 | ····Similar·to·<span·class="inlinecode"><span·class="id"·title="var">WSfun</span></span>·but·expressed·in·a·self-contained·way.· | 559 | ····Similar·to·<span·class="inlinecode"><span·class="id"·title="var">WSfun</span></span>·but·expressed·in·a·self-contained·way.· | 
| 560 | </div> | 560 | </div> | 
| 561 | <div·class="code"> | 561 | <div·class="code"> | 
| Offset 571, 15 lines modified | Offset 571, 15 lines modified | ||
| 571 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS.E"><span·class="id"·title="module">E</span></a>.<br/> | 571 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS.E"><span·class="id"·title="module">E</span></a>.<br/> | 
| 572 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS"><span·class="id"·title="module">WS</span></a>.<br/> | 572 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS"><span·class="id"·title="module">WS</span></a>.<br/> | 
| 573 | <br/> | 573 | <br/> | 
| 574 | </div> | 574 | </div> | 
| 575 | <div·class="doc"> | 575 | <div·class="doc"> | 
| 576 | <a·id="lab6 | 576 | <a·id="lab658"></a><h2·class="section">Maps·on·ordered·keys,·functorial·signature</h2> | 
| 577 | </div> | 577 | </div> | 
| 578 | <div·class="code"> | 578 | <div·class="code"> | 
| 579 | <br/> | 579 | <br/> | 
| 580 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Sfun"·class="idref"·href="#Sfun"><span·class="id"·title="module">Sfun</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>).<br/> | 580 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Sfun"·class="idref"·href="#Sfun"><span·class="id"·title="module">Sfun</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>).<br/> | 
| 581 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 581 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 
| Offset 598, 30 lines modified | Offset 598, 30 lines modified | ||
| 598 |   <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun.elt"><span·class="id"·title="section">elt</span></a>.<br/> | 598 |   <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun.elt"><span·class="id"·title="section">elt</span></a>.<br/> | 
| 599 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>.<br/> | 599 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>.<br/> | 
| 600 | <br/> | 600 | <br/> | 
| 601 | </div> | 601 | </div> | 
| 602 | <div·class="doc"> | 602 | <div·class="doc"> | 
| 603 | <a·id="lab6 | 603 | <a·id="lab659"></a><h2·class="section">Maps·on·ordered·keys,·self-contained·signature</h2> | 
| 604 | </div> | 604 | </div> | 
| 605 | <div·class="code"> | 605 | <div·class="code"> | 
| 606 | <br/> | 606 | <br/> | 
| 607 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="S"·class="idref"·href="#S"><span·class="id"·title="module">S</span></a>.<br/> | 607 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="S"·class="idref"·href="#S"><span·class="id"·title="module">S</span></a>.<br/> | 
| 608 |   <span·class="id"·title="keyword">Declare·Module</span>·<a·id="S.E"·class="idref"·href="#S.E"><span·class="id"·title="module">E</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>.<br/> | 608 |   <span·class="id"·title="keyword">Declare·Module</span>·<a·id="S.E"·class="idref"·href="#S.E"><span·class="id"·title="module">E</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>.<br/> | 
| 609 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#S.E"><span·class="id"·title="module">E</span></a>.<br/> | 609 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#S.E"><span·class="id"·title="module">E</span></a>.<br/> | 
| 610 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#S"><span·class="id"·title="module">S</span></a>.<br/> | 610 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#S"><span·class="id"·title="module">S</span></a>.<br/> | 
| 611 | <br/> | 611 | <br/> | 
| 612 | </div> | 612 | </div> | 
| 613 | <div·class="doc"> | 613 | <div·class="doc"> | 
| 614 | <a·id="lab66 | 614 | <a·id="lab660"></a><h2·class="section">Maps·with·ordering·both·on·keys·and·datas</h2> | 
| 615 | </div> | 615 | </div> | 
| 616 | <div·class="code"> | 616 | <div·class="code"> | 
| 617 | <br/> | 617 | <br/> | 
| 618 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Sord"·class="idref"·href="#Sord"><span·class="id"·title="module">Sord</span></a>.<br/> | 618 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Sord"·class="idref"·href="#Sord"><span·class="id"·title="module">Sord</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab519"></a><h1·class="section">Finite·map·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·file·proposes·an·implementation·of·the·non-dependent·interface | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent·interface | 
| 52 | ·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>·using·lists·of·pairs·ordered·(increasing)·with·respect·to | 52 | ·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>·using·lists·of·pairs·ordered·(increasing)·with·respect·to | 
| 53 | ·left·projection.· | 53 | ·left·projection.· | 
| 54 | </div> | 54 | </div> | 
| Offset 89, 15 lines modified | Offset 89, 15 lines modified | ||
| 89 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.Sort"·class="idref"·href="#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·:=·(<a·class="idref"·href="Coq.Sorting.Sorted.html#sort"><span·class="id"·title="abbreviation">sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.ltk"><span·class="id"·title="abbreviation">ltk</span></a>).<br/> | 89 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.Sort"·class="idref"·href="#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·:=·(<a·class="idref"·href="Coq.Sorting.Sorted.html#sort"><span·class="id"·title="abbreviation">sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.ltk"><span·class="id"·title="abbreviation">ltk</span></a>).<br/> | 
| 90 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.Inf"·class="idref"·href="#Raw.Inf"><span·class="id"·title="abbreviation">Inf</span></a>·:=·(<a·class="idref"·href="Coq.Sorting.Sorted.html#lelistA"><span·class="id"·title="abbreviation">lelistA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.ltk"><span·class="id"·title="abbreviation">ltk</span></a>)).<br/> | 90 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.Inf"·class="idref"·href="#Raw.Inf"><span·class="id"·title="abbreviation">Inf</span></a>·:=·(<a·class="idref"·href="Coq.Sorting.Sorted.html#lelistA"><span·class="id"·title="abbreviation">lelistA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.ltk"><span·class="id"·title="abbreviation">ltk</span></a>)).<br/> | 
| 91 | <br/> | 91 | <br/> | 
| 92 | </div> | 92 | </div> | 
| 93 | <div·class="doc"> | 93 | <div·class="doc"> | 
| 94 | <a·id="lab | 94 | <a·id="lab520"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">empty</span></span></h1> | 
| 95 | </div> | 95 | </div> | 
| 96 | <div·class="code"> | 96 | <div·class="code"> | 
| 97 | <br/> | 97 | <br/> | 
| 98 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 
| Offset 112, 15 lines modified | Offset 112, 15 lines modified | ||
| 112 | <br/> | 112 | <br/> | 
| 113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.empty_sorted"·class="idref"·href="#Raw.empty_sorted"><span·class="id"·title="lemma">empty_sorted</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.empty"><span·class="id"·title="definition">empty</span></a>.<br/> | 113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.empty_sorted"·class="idref"·href="#Raw.empty_sorted"><span·class="id"·title="lemma">empty_sorted</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.empty"><span·class="id"·title="definition">empty</span></a>.<br/> | 
| 114 | <br/> | 114 | <br/> | 
| 115 | </div> | 115 | </div> | 
| 116 | <div·class="doc"> | 116 | <div·class="doc"> | 
| 117 | <a·id="lab | 117 | <a·id="lab521"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">is_empty</span></span></h1> | 
| 118 | </div> | 118 | </div> | 
| 119 | <div·class="code"> | 119 | <div·class="code"> | 
| 120 | <br/> | 120 | <br/> | 
| 121 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:7"·class="idref"·href="#l:7"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#l:7"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 121 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:7"·class="idref"·href="#l:7"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#l:7"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 
| Offset 130, 15 lines modified | Offset 130, 15 lines modified | ||
| 130 | <br/> | 130 | <br/> | 
| 131 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.is_empty_2"·class="idref"·href="#Raw.is_empty_2"><span·class="id"·title="lemma">is_empty_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:9"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:9"><span·class="id"·title="variable">m</span></a>.<br/> | 131 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.is_empty_2"·class="idref"·href="#Raw.is_empty_2"><span·class="id"·title="lemma">is_empty_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:9"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:9"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 132 | <br/> | 132 | <br/> | 
| 133 | </div> | 133 | </div> | 
| 134 | <div·class="doc"> | 134 | <div·class="doc"> | 
| 135 | <a·id="lab | 135 | <a·id="lab522"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">mem</span></span></h1> | 
| 136 | </div> | 136 | </div> | 
| 137 | <div·class="code"> | 137 | <div·class="code"> | 
| 138 | <br/> | 138 | <br/> | 
| 139 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.mem"·class="idref"·href="#Raw.mem"><span·class="id"·title="definition">mem</span></a>·(<a·id="k:10"·class="idref"·href="#k:10"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:11"·class="idref"·href="#s:11"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 139 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.mem"·class="idref"·href="#Raw.mem"><span·class="id"·title="definition">mem</span></a>·(<a·id="k:10"·class="idref"·href="#k:10"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:11"·class="idref"·href="#s:11"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 
| 140 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:11"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 140 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:11"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 157, 15 lines modified | Offset 157, 15 lines modified | ||
| 157 | <br/> | 157 | <br/> | 
| 158 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.mem_2"·class="idref"·href="#Raw.mem_2"><span·class="id"·title="lemma">mem_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:18"·class="idref"·href="#Hm:18"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><span·class="id"·title="variable">m</span></a>)·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.mem"><span·class="id"·title="definition">mem</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><span·class="id"·title="variable">m</span></a>.<br/> | 158 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.mem_2"·class="idref"·href="#Raw.mem_2"><span·class="id"·title="lemma">mem_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:18"·class="idref"·href="#Hm:18"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><span·class="id"·title="variable">m</span></a>)·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.mem"><span·class="id"·title="definition">mem</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 159 | <br/> | 159 | <br/> | 
| 160 | </div> | 160 | </div> | 
| 161 | <div·class="doc"> | 161 | <div·class="doc"> | 
| 162 | <a·id="lab | 162 | <a·id="lab523"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">find</span></span></h1> | 
| 163 | </div> | 163 | </div> | 
| 164 | <div·class="code"> | 164 | <div·class="code"> | 
| 165 | <br/> | 165 | <br/> | 
| 166 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.find"·class="idref"·href="#Raw.find"><span·class="id"·title="definition">find</span></a>·(<a·id="k:20"·class="idref"·href="#k:20"><span·class="id"·title="binder">k</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:21"·class="idref"·href="#s:21"><span·class="id"·title="binder">s</span></a>:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 166 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.find"·class="idref"·href="#Raw.find"><span·class="id"·title="definition">find</span></a>·(<a·id="k:20"·class="idref"·href="#k:20"><span·class="id"·title="binder">k</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:21"·class="idref"·href="#s:21"><span·class="id"·title="binder">s</span></a>:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 
| 167 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:21"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 167 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:21"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 184, 15 lines modified | Offset 184, 15 lines modified | ||
| 184 | <br/> | 184 | <br/> | 
| 185 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.find_1"·class="idref"·href="#Raw.find_1"><span·class="id"·title="lemma">find_1</span></a>·:··<span·class="id"·title="keyword">forall</span>·<a·id="m:27"·class="idref"·href="#m:27"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:28"·class="idref"·href="#Hm:28"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><span·class="id"·title="variable">m</span></a>)·<a·id="x:29"·class="idref"·href="#x:29"><span·class="id"·title="binder">x</span></a>·<a·id="e:30"·class="idref"·href="#e:30"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.MapsTo"><span·class="id"·title="abbreviation">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:30"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Some"><span·class="id"·title="constructor">Some</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:30"><span·class="id"·title="variable">e</span></a>.<br/> | 185 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.find_1"·class="idref"·href="#Raw.find_1"><span·class="id"·title="lemma">find_1</span></a>·:··<span·class="id"·title="keyword">forall</span>·<a·id="m:27"·class="idref"·href="#m:27"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:28"·class="idref"·href="#Hm:28"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><span·class="id"·title="variable">m</span></a>)·<a·id="x:29"·class="idref"·href="#x:29"><span·class="id"·title="binder">x</span></a>·<a·id="e:30"·class="idref"·href="#e:30"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.MapsTo"><span·class="id"·title="abbreviation">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:30"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Some"><span·class="id"·title="constructor">Some</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:30"><span·class="id"·title="variable">e</span></a>.<br/> | 
| 186 | <br/> | 186 | <br/> | 
| 187 | </div> | 187 | </div> | 
| 188 | <div·class="doc"> | 188 | <div·class="doc"> | 
| 189 | <a·id="lab | 189 | <a·id="lab524"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">add</span></span></h1> | 
| 190 | </div> | 190 | </div> | 
| 191 | <div·class="code"> | 191 | <div·class="code"> | 
| 192 | <br/> | 192 | <br/> | 
| 193 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.add"·class="idref"·href="#Raw.add"><span·class="id"·title="definition">add</span></a>·(<a·id="k:31"·class="idref"·href="#k:31"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="x:32"·class="idref"·href="#x:32"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·(<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 193 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.add"·class="idref"·href="#Raw.add"><span·class="id"·title="definition">add</span></a>·(<a·id="k:31"·class="idref"·href="#k:31"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="x:32"·class="idref"·href="#x:32"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·(<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 
| 194 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:33"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 194 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:33"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 225, 15 lines modified | Offset 225, 15 lines modified | ||
| 225 | <br/> | 225 | <br/> | 
| 226 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.add_sorted"·class="idref"·href="#Raw.add_sorted"><span·class="id"·title="lemma">add_sorted</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:55"·class="idref"·href="#m:55"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:56"·class="idref"·href="#Hm:56"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:55"><span·class="id"·title="variable">m</span></a>)·<a·id="x:57"·class="idref"·href="#x:57"><span·class="id"·title="binder">x</span></a>·<a·id="e:58"·class="idref"·href="#e:58"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:57"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:58"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:55"><span·class="id"·title="variable">m</span></a>).<br/> | 226 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.add_sorted"·class="idref"·href="#Raw.add_sorted"><span·class="id"·title="lemma">add_sorted</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:55"·class="idref"·href="#m:55"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:56"·class="idref"·href="#Hm:56"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:55"><span·class="id"·title="variable">m</span></a>)·<a·id="x:57"·class="idref"·href="#x:57"><span·class="id"·title="binder">x</span></a>·<a·id="e:58"·class="idref"·href="#e:58"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:57"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:58"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:55"><span·class="id"·title="variable">m</span></a>).<br/> | 
| 227 | <br/> | 227 | <br/> | 
| 228 | </div> | 228 | </div> | 
| 229 | <div·class="doc"> | 229 | <div·class="doc"> | 
| 230 | <a·id="lab | 230 | <a·id="lab525"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">remove</span></span></h1> | 
| 231 | </div> | 231 | </div> | 
| 232 | <div·class="code"> | 232 | <div·class="code"> | 
| 233 | <br/> | 233 | <br/> | 
| 234 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.remove"·class="idref"·href="#Raw.remove"><span·class="id"·title="definition">remove</span></a>·(<a·id="k:59"·class="idref"·href="#k:59"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:60"·class="idref"·href="#s:60"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 234 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.remove"·class="idref"·href="#Raw.remove"><span·class="id"·title="definition">remove</span></a>·(<a·id="k:59"·class="idref"·href="#k:59"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:60"·class="idref"·href="#s:60"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 
| 235 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:60"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 235 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:60"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 266, 15 lines modified | Offset 266, 15 lines modified | ||
| 266 | <br/> | 266 | <br/> | 
| 267 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.remove_sorted"·class="idref"·href="#Raw.remove_sorted"><span·class="id"·title="lemma">remove_sorted</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:82"·class="idref"·href="#m:82"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:83"·class="idref"·href="#Hm:83"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:82"><span·class="id"·title="variable">m</span></a>)·<a·id="x:84"·class="idref"·href="#x:84"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.remove"><span·class="id"·title="definition">remove</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:84"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:82"><span·class="id"·title="variable">m</span></a>).<br/> | 267 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.remove_sorted"·class="idref"·href="#Raw.remove_sorted"><span·class="id"·title="lemma">remove_sorted</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:82"·class="idref"·href="#m:82"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:83"·class="idref"·href="#Hm:83"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:82"><span·class="id"·title="variable">m</span></a>)·<a·id="x:84"·class="idref"·href="#x:84"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.remove"><span·class="id"·title="definition">remove</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:84"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:82"><span·class="id"·title="variable">m</span></a>).<br/> | 
| 268 | <br/> | 268 | <br/> | 
| 269 | </div> | 269 | </div> | 
| 270 | <div·class="doc"> | 270 | <div·class="doc"> | 
| 271 | <a·id="lab | 271 | <a·id="lab526"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">elements</span></span></h1> | 
| 272 | </div> | 272 | </div> | 
| 273 | <div·class="code"> | 273 | <div·class="code"> | 
| 274 | <br/> | 274 | <br/> | 
| 275 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.elements"·class="idref"·href="#Raw.elements"><span·class="id"·title="definition">elements</span></a>·(<a·id="m:85"·class="idref"·href="#m:85"><span·class="id"·title="binder">m</span></a>:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapList.html#m:85"><span·class="id"·title="variable">m</span></a>.<br/> | 275 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.elements"·class="idref"·href="#Raw.elements"><span·class="id"·title="definition">elements</span></a>·(<a·id="m:85"·class="idref"·href="#m:85"><span·class="id"·title="binder">m</span></a>:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapList.html#m:85"><span·class="id"·title="variable">m</span></a>.<br/> | 
| Max diff block lines reached; 12895/30838 bytes (41.82%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab6 | 49 | <a·id="lab662"></a><h1·class="section">FMapPositive·:·an·implementation·of·FMapInterface·for·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·keys.</h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.OrderedTypeEx.html#"><span·class="id"·title="library">OrderedTypeEx</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#"><span·class="id"·title="library">FMapInterface</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.OrderedTypeEx.html#"><span·class="id"·title="library">OrderedTypeEx</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#"><span·class="id"·title="library">FMapInterface</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab641"></a><h1·class="section">Finite·map·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·file·proposes·an·implementation·of·the·non-dependent·interface | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent·interface | 
| 52 | ·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.WS</span></span>·using·lists·of·pairs,·unordered·but·without·redundancy.· | 52 | ·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.WS</span></span>·using·lists·of·pairs,·unordered·but·without·redundancy.· | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="code"> | 54 | <div·class="code"> | 
| Offset 87, 15 lines modified | Offset 87, 15 lines modified | ||
| 87 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.In"·class="idref"·href="#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·:=·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.In"><span·class="id"·title="definition">In</span></a>·(<span·class="id"·title="var">elt</span>:=<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)).<br/> | 87 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.In"·class="idref"·href="#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·:=·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.In"><span·class="id"·title="definition">In</span></a>·(<span·class="id"·title="var">elt</span>:=<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)).<br/> | 
| 88 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.NoDupA"·class="idref"·href="#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.eqk"><span·class="id"·title="abbreviation">eqk</span></a>).<br/> | 88 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.NoDupA"·class="idref"·href="#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.eqk"><span·class="id"·title="abbreviation">eqk</span></a>).<br/> | 
| 89 | <br/> | 89 | <br/> | 
| 90 | </div> | 90 | </div> | 
| 91 | <div·class="doc"> | 91 | <div·class="doc"> | 
| 92 | <a·id="lab | 92 | <a·id="lab642"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">empty</span></span></h1> | 
| 93 | </div> | 93 | </div> | 
| 94 | <div·class="code"> | 94 | <div·class="code"> | 
| 95 | <br/> | 95 | <br/> | 
| 96 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 96 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 
| Offset 112, 15 lines modified | Offset 112, 15 lines modified | ||
| 112 | <br/> | 112 | <br/> | 
| 113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.empty_NoDup"·class="idref"·href="#Raw.empty_NoDup"><span·class="id"·title="lemma">empty_NoDup</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.empty"><span·class="id"·title="definition">empty</span></a>.<br/> | 113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.empty_NoDup"·class="idref"·href="#Raw.empty_NoDup"><span·class="id"·title="lemma">empty_NoDup</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.empty"><span·class="id"·title="definition">empty</span></a>.<br/> | 
| 114 | <br/> | 114 | <br/> | 
| 115 | </div> | 115 | </div> | 
| 116 | <div·class="doc"> | 116 | <div·class="doc"> | 
| 117 | <a·id="lab | 117 | <a·id="lab643"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">is_empty</span></span></h1> | 
| 118 | </div> | 118 | </div> | 
| 119 | <div·class="code"> | 119 | <div·class="code"> | 
| 120 | <br/> | 120 | <br/> | 
| 121 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:7"·class="idref"·href="#l:7"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#l:7"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 121 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:7"·class="idref"·href="#l:7"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#l:7"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 
| Offset 130, 15 lines modified | Offset 130, 15 lines modified | ||
| 130 | <br/> | 130 | <br/> | 
| 131 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.is_empty_2"·class="idref"·href="#Raw.is_empty_2"><span·class="id"·title="lemma">is_empty_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:9"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:9"><span·class="id"·title="variable">m</span></a>.<br/> | 131 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.is_empty_2"·class="idref"·href="#Raw.is_empty_2"><span·class="id"·title="lemma">is_empty_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:9"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:9"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 132 | <br/> | 132 | <br/> | 
| 133 | </div> | 133 | </div> | 
| 134 | <div·class="doc"> | 134 | <div·class="doc"> | 
| 135 | <a·id="lab | 135 | <a·id="lab644"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">mem</span></span></h1> | 
| 136 | </div> | 136 | </div> | 
| 137 | <div·class="code"> | 137 | <div·class="code"> | 
| 138 | <br/> | 138 | <br/> | 
| 139 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.mem"·class="idref"·href="#Raw.mem"><span·class="id"·title="definition">mem</span></a>·(<a·id="k:10"·class="idref"·href="#k:10"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:11"·class="idref"·href="#s:11"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 139 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.mem"·class="idref"·href="#Raw.mem"><span·class="id"·title="definition">mem</span></a>·(<a·id="k:10"·class="idref"·href="#k:10"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:11"·class="idref"·href="#s:11"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 
| 140 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:11"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 140 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:11"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 152, 15 lines modified | Offset 152, 15 lines modified | ||
| 152 | <br/> | 152 | <br/> | 
| 153 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.mem_2"·class="idref"·href="#Raw.mem_2"><span·class="id"·title="lemma">mem_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:18"·class="idref"·href="#Hm:18"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><span·class="id"·title="variable">m</span></a>)·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.mem"><span·class="id"·title="definition">mem</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><span·class="id"·title="variable">m</span></a>.<br/> | 153 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.mem_2"·class="idref"·href="#Raw.mem_2"><span·class="id"·title="lemma">mem_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:18"·class="idref"·href="#Hm:18"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><span·class="id"·title="variable">m</span></a>)·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.mem"><span·class="id"·title="definition">mem</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 154 | <br/> | 154 | <br/> | 
| 155 | </div> | 155 | </div> | 
| 156 | <div·class="doc"> | 156 | <div·class="doc"> | 
| 157 | <a·id="lab | 157 | <a·id="lab645"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">find</span></span></h1> | 
| 158 | </div> | 158 | </div> | 
| 159 | <div·class="code"> | 159 | <div·class="code"> | 
| 160 | <br/> | 160 | <br/> | 
| 161 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.find"·class="idref"·href="#Raw.find"><span·class="id"·title="definition">find</span></a>·(<a·id="k:20"·class="idref"·href="#k:20"><span·class="id"·title="binder">k</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:21"·class="idref"·href="#s:21"><span·class="id"·title="binder">s</span></a>:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 161 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.find"·class="idref"·href="#Raw.find"><span·class="id"·title="definition">find</span></a>·(<a·id="k:20"·class="idref"·href="#k:20"><span·class="id"·title="binder">k</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:21"·class="idref"·href="#s:21"><span·class="id"·title="binder">s</span></a>:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 
| 162 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:21"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 162 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:21"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 181, 15 lines modified | Offset 181, 15 lines modified | ||
| 181 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.find_eq"·class="idref"·href="#Raw.find_eq"><span·class="id"·title="lemma">find_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:31"·class="idref"·href="#m:31"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:32"·class="idref"·href="#Hm:32"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><span·class="id"·title="variable">m</span></a>)·<a·id="x:33"·class="idref"·href="#x:33"><span·class="id"·title="binder">x</span></a>·<a·id="x':34"·class="idref"·href="#x':34"><span·class="id"·title="binder">x'</span></a>,<br/> | 181 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.find_eq"·class="idref"·href="#Raw.find_eq"><span·class="id"·title="lemma">find_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:31"·class="idref"·href="#m:31"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:32"·class="idref"·href="#Hm:32"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><span·class="id"·title="variable">m</span></a>)·<a·id="x:33"·class="idref"·href="#x:33"><span·class="id"·title="binder">x</span></a>·<a·id="x':34"·class="idref"·href="#x':34"><span·class="id"·title="binder">x'</span></a>,<br/> | 
| 182 |    <a·class="idref"·href="Coq.FSets.FMapWeakList.html#X.eq"><span·class="id"·title="axiom">X.eq</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x':34"><span·class="id"·title="variable">x'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x':34"><span·class="id"·title="variable">x'</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><span·class="id"·title="variable">m</span></a>.<br/> | 182 |    <a·class="idref"·href="Coq.FSets.FMapWeakList.html#X.eq"><span·class="id"·title="axiom">X.eq</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x':34"><span·class="id"·title="variable">x'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x':34"><span·class="id"·title="variable">x'</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 183 | <br/> | 183 | <br/> | 
| 184 | </div> | 184 | </div> | 
| 185 | <div·class="doc"> | 185 | <div·class="doc"> | 
| 186 | <a·id="lab | 186 | <a·id="lab646"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">add</span></span></h1> | 
| 187 | </div> | 187 | </div> | 
| 188 | <div·class="code"> | 188 | <div·class="code"> | 
| 189 | <br/> | 189 | <br/> | 
| 190 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.add"·class="idref"·href="#Raw.add"><span·class="id"·title="definition">add</span></a>·(<a·id="k:35"·class="idref"·href="#k:35"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="x:36"·class="idref"·href="#x:36"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·(<a·id="s:37"·class="idref"·href="#s:37"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 190 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.add"·class="idref"·href="#Raw.add"><span·class="id"·title="definition">add</span></a>·(<a·id="k:35"·class="idref"·href="#k:35"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="x:36"·class="idref"·href="#x:36"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·(<a·id="s:37"·class="idref"·href="#s:37"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 
| 191 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:37"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 191 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:37"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 225, 15 lines modified | Offset 225, 15 lines modified | ||
| 225 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.add_not_eq"·class="idref"·href="#Raw.add_not_eq"><span·class="id"·title="lemma">add_not_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:68"·class="idref"·href="#m:68"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:69"·class="idref"·href="#Hm:69"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><span·class="id"·title="variable">m</span></a>)·<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·<a·id="a:71"·class="idref"·href="#a:71"><span·class="id"·title="binder">a</span></a>·<a·id="e:72"·class="idref"·href="#e:72"><span·class="id"·title="binder">e</span></a>,<br/> | 225 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.add_not_eq"·class="idref"·href="#Raw.add_not_eq"><span·class="id"·title="lemma">add_not_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:68"·class="idref"·href="#m:68"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:69"·class="idref"·href="#Hm:69"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><span·class="id"·title="variable">m</span></a>)·<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·<a·id="a:71"·class="idref"·href="#a:71"><span·class="id"·title="binder">a</span></a>·<a·id="e:72"·class="idref"·href="#e:72"><span·class="id"·title="binder">e</span></a>,<br/> | 
| 226 |   <a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.FSets.FMapWeakList.html#X.eq"><span·class="id"·title="axiom">X.eq</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#a:71"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#a:71"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#e:72"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><span·class="id"·title="variable">m</span></a>.<br/> | 226 |   <a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.FSets.FMapWeakList.html#X.eq"><span·class="id"·title="axiom">X.eq</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#a:71"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#a:71"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#e:72"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 227 | <br/> | 227 | <br/> | 
| 228 | </div> | 228 | </div> | 
| 229 | <div·class="doc"> | 229 | <div·class="doc"> | 
| 230 | <a·id="lab | 230 | <a·id="lab647"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">remove</span></span></h1> | 
| 231 | </div> | 231 | </div> | 
| 232 | <div·class="code"> | 232 | <div·class="code"> | 
| 233 | <br/> | 233 | <br/> | 
| 234 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.remove"·class="idref"·href="#Raw.remove"><span·class="id"·title="definition">remove</span></a>·(<a·id="k:73"·class="idref"·href="#k:73"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:74"·class="idref"·href="#s:74"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 234 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.remove"·class="idref"·href="#Raw.remove"><span·class="id"·title="definition">remove</span></a>·(<a·id="k:73"·class="idref"·href="#k:73"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:74"·class="idref"·href="#s:74"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 
| 235 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:74"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 235 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:74"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 259, 15 lines modified | Offset 259, 15 lines modified | ||
| 259 | <br/> | 259 | <br/> | 
| 260 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.remove_NoDup"·class="idref"·href="#Raw.remove_NoDup"><span·class="id"·title="lemma">remove_NoDup</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:96"·class="idref"·href="#m:96"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:97"·class="idref"·href="#Hm:97"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:96"><span·class="id"·title="variable">m</span></a>)·<a·id="x:98"·class="idref"·href="#x:98"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.remove"><span·class="id"·title="definition">remove</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:98"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:96"><span·class="id"·title="variable">m</span></a>).<br/> | 260 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.remove_NoDup"·class="idref"·href="#Raw.remove_NoDup"><span·class="id"·title="lemma">remove_NoDup</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:96"·class="idref"·href="#m:96"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:97"·class="idref"·href="#Hm:97"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:96"><span·class="id"·title="variable">m</span></a>)·<a·id="x:98"·class="idref"·href="#x:98"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.remove"><span·class="id"·title="definition">remove</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:98"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:96"><span·class="id"·title="variable">m</span></a>).<br/> | 
| 261 | <br/> | 261 | <br/> | 
| 262 | </div> | 262 | </div> | 
| 263 | <div·class="doc"> | 263 | <div·class="doc"> | 
| 264 | <a·id="lab | 264 | <a·id="lab648"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">elements</span></span></h1> | 
| 265 | </div> | 265 | </div> | 
| 266 | <div·class="code"> | 266 | <div·class="code"> | 
| 267 | <br/> | 267 | <br/> | 
| 268 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.elements"·class="idref"·href="#Raw.elements"><span·class="id"·title="definition">elements</span></a>·(<a·id="m:99"·class="idref"·href="#m:99"><span·class="id"·title="binder">m</span></a>:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:99"><span·class="id"·title="variable">m</span></a>.<br/> | 268 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.elements"·class="idref"·href="#Raw.elements"><span·class="id"·title="definition">elements</span></a>·(<a·id="m:99"·class="idref"·href="#m:99"><span·class="id"·title="binder">m</span></a>:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:99"><span·class="id"·title="variable">m</span></a>.<br/> | 
| Max diff block lines reached; 11099/30619 bytes (36.25%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab558"></a><h1·class="section">FSetAVL·:·Implementation·of·FSetInterface·via·AVL·trees</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·module·implements·finite·sets·using·AVL·trees. | 51 | ·This·module·implements·finite·sets·using·AVL·trees. | 
| 52 | ····It·follows·the·implementation·from·Ocaml's·standard·library, | 52 | ····It·follows·the·implementation·from·Ocaml's·standard·library, | 
| 53 | <div·class="paragraph">·</div> | 53 | <div·class="paragraph">·</div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab652"></a><h1·class="section">Finite·sets·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·module·implements·bridges·(as·functors)·from·dependent | 51 | ·This·module·implements·bridges·(as·functors)·from·dependent | 
| 52 | ····to/from·non-dependent·set·signature.· | 52 | ····to/from·non-dependent·set·signature.· | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="code"> | 54 | <div·class="code"> | 
| Offset 62, 15 lines modified | Offset 62, 15 lines modified | ||
| 62 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>.<br/> | 
| 63 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 63 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 64 | <br/> | 64 | <br/> | 
| 65 | </div> | 65 | </div> | 
| 66 | <div·class="doc"> | 66 | <div·class="doc"> | 
| 67 | <a·id="lab | 67 | <a·id="lab653"></a><h1·class="section">From·non-dependent·signature·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·to·dependent·signature·<span·class="inlinecode"><span·class="id"·title="var">Sdep</span></span>.</h1> | 
| 68 | </div> | 68 | </div> | 
| 69 | <div·class="code"> | 69 | <div·class="code"> | 
| 70 | <br/> | 70 | <br/> | 
| 71 | <span·class="id"·title="keyword">Module</span>·<a·id="DepOfNodep"·class="idref"·href="#DepOfNodep"><span·class="id"·title="module">DepOfNodep</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>)·<:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sdep"><span·class="id"·title="module">Sdep</span></a>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="keyword">Module</span>·<span·class="id"·title="var">E</span>·:=·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M.E"><span·class="id"·title="module">M.E</span></a>.<br/> | 71 | <span·class="id"·title="keyword">Module</span>·<a·id="DepOfNodep"·class="idref"·href="#DepOfNodep"><span·class="id"·title="module">DepOfNodep</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>)·<:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sdep"><span·class="id"·title="module">Sdep</span></a>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="keyword">Module</span>·<span·class="id"·title="var">E</span>·:=·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M.E"><span·class="id"·title="module">M.E</span></a>.<br/> | 
| 72 |   <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">bool</span>·<span·class="id"·title="tactic">set</span>.<br/> | 72 |   <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">bool</span>·<span·class="id"·title="tactic">set</span>.<br/> | 
| Offset 240, 15 lines modified | Offset 240, 15 lines modified | ||
| 240 | <br/> | 240 | <br/> | 
| 241 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetBridge.html#DepOfNodep"><span·class="id"·title="module">DepOfNodep</span></a>.<br/> | 241 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetBridge.html#DepOfNodep"><span·class="id"·title="module">DepOfNodep</span></a>.<br/> | 
| 242 | <br/> | 242 | <br/> | 
| 243 | </div> | 243 | </div> | 
| 244 | <div·class="doc"> | 244 | <div·class="doc"> | 
| 245 | <a·id="lab | 245 | <a·id="lab654"></a><h1·class="section">From·dependent·signature·<span·class="inlinecode"><span·class="id"·title="var">Sdep</span></span>·to·non-dependent·signature·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>.</h1> | 
| 246 | </div> | 246 | </div> | 
| 247 | <div·class="code"> | 247 | <div·class="code"> | 
| 248 | <br/> | 248 | <br/> | 
| 249 | <span·class="id"·title="keyword">Module</span>·<a·id="NodepOfDep"·class="idref"·href="#NodepOfDep"><span·class="id"·title="module">NodepOfDep</span></a>·(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sdep"><span·class="id"·title="module">Sdep</span></a>)·<:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="keyword">Module</span>·<span·class="id"·title="var">E</span>·:=·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M.E"><span·class="id"·title="module">M.E</span></a>.<br/> | 249 | <span·class="id"·title="keyword">Module</span>·<a·id="NodepOfDep"·class="idref"·href="#NodepOfDep"><span·class="id"·title="module">NodepOfDep</span></a>·(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sdep"><span·class="id"·title="module">Sdep</span></a>)·<:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="keyword">Module</span>·<span·class="id"·title="var">E</span>·:=·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M.E"><span·class="id"·title="module">M.E</span></a>.<br/> | 
| 250 |   <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 250 |   <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab545"></a><h1·class="section">Compatibility·functors·between·FSetInterface·and·MSetInterface.</h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#"><span·class="id"·title="library">FSetFacts</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#"><span·class="id"·title="library">MSetFacts</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#"><span·class="id"·title="library">FSetFacts</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#"><span·class="id"·title="library">MSetFacts</span></a>.<br/> | 
| 54 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 54 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| Offset 61, 15 lines modified | Offset 61, 15 lines modified | ||
| 61 | <br/> | 61 | <br/> | 
| 62 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">relations</span>.<br/> | 62 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">relations</span>.<br/> | 
| 63 | <br/> | 63 | <br/> | 
| 64 | </div> | 64 | </div> | 
| 65 | <div·class="doc"> | 65 | <div·class="doc"> | 
| 66 | <a·id="lab | 66 | <a·id="lab546"></a><h1·class="section">From·new·Weak·Sets·to·old·ones</h1> | 
| 67 | </div> | 67 | </div> | 
| 68 | <div·class="code"> | 68 | <div·class="code"> | 
| 69 | <br/> | 69 | <br/> | 
| 70 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_WSets"·class="idref"·href="#Backport_WSets"><span·class="id"·title="module">Backport_WSets</span></a><br/> | 70 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_WSets"·class="idref"·href="#Backport_WSets"><span·class="id"·title="module">Backport_WSets</span></a><br/> | 
| 71 |  (<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType.DecidableType</span></a>)<br/> | 71 |  (<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType.DecidableType</span></a>)<br/> | 
| Offset 224, 15 lines modified | Offset 224, 15 lines modified | ||
| 224 | <br/> | 224 | <br/> | 
| 225 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Backport_WSets"><span·class="id"·title="module">Backport_WSets</span></a>.<br/> | 225 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Backport_WSets"><span·class="id"·title="module">Backport_WSets</span></a>.<br/> | 
| 226 | <br/> | 226 | <br/> | 
| 227 | </div> | 227 | </div> | 
| 228 | <div·class="doc"> | 228 | <div·class="doc"> | 
| 229 | <a·id="lab | 229 | <a·id="lab547"></a><h1·class="section">From·new·Sets·to·new·ones</h1> | 
| 230 | </div> | 230 | </div> | 
| 231 | <div·class="code"> | 231 | <div·class="code"> | 
| 232 | <br/> | 232 | <br/> | 
| 233 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_Sets"·class="idref"·href="#Backport_Sets"><span·class="id"·title="module">Backport_Sets</span></a><br/> | 233 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_Sets"·class="idref"·href="#Backport_Sets"><span·class="id"·title="module">Backport_Sets</span></a><br/> | 
| 234 |  (<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType.OrderedType</span></a>)<br/> | 234 |  (<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType.OrderedType</span></a>)<br/> | 
| Offset 282, 15 lines modified | Offset 282, 15 lines modified | ||
| 282 | <br/> | 282 | <br/> | 
| 283 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Backport_Sets"><span·class="id"·title="module">Backport_Sets</span></a>.<br/> | 283 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Backport_Sets"><span·class="id"·title="module">Backport_Sets</span></a>.<br/> | 
| 284 | <br/> | 284 | <br/> | 
| 285 | </div> | 285 | </div> | 
| 286 | <div·class="doc"> | 286 | <div·class="doc"> | 
| 287 | <a·id="lab | 287 | <a·id="lab548"></a><h1·class="section">From·old·Weak·Sets·to·new·ones.</h1> | 
| 288 | </div> | 288 | </div> | 
| 289 | <div·class="code"> | 289 | <div·class="code"> | 
| 290 | <br/> | 290 | <br/> | 
| 291 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_WSets"·class="idref"·href="#Update_WSets"><span·class="id"·title="module">Update_WSets</span></a><br/> | 291 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_WSets"·class="idref"·href="#Update_WSets"><span·class="id"·title="module">Update_WSets</span></a><br/> | 
| 292 |  (<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">Equalities.DecidableType</span></a>)<br/> | 292 |  (<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">Equalities.DecidableType</span></a>)<br/> | 
| Offset 425, 15 lines modified | Offset 425, 15 lines modified | ||
| 425 | <br/> | 425 | <br/> | 
| 426 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Update_WSets"><span·class="id"·title="module">Update_WSets</span></a>.<br/> | 426 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Update_WSets"><span·class="id"·title="module">Update_WSets</span></a>.<br/> | 
| 427 | <br/> | 427 | <br/> | 
| 428 | </div> | 428 | </div> | 
| 429 | <div·class="doc"> | 429 | <div·class="doc"> | 
| 430 | <a·id="lab | 430 | <a·id="lab549"></a><h1·class="section">From·old·Sets·to·new·ones.</h1> | 
| 431 | </div> | 431 | </div> | 
| 432 | <div·class="code"> | 432 | <div·class="code"> | 
| 433 | <br/> | 433 | <br/> | 
| 434 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_Sets"·class="idref"·href="#Update_Sets"><span·class="id"·title="module">Update_Sets</span></a><br/> | 434 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_Sets"·class="idref"·href="#Update_Sets"><span·class="id"·title="module">Update_Sets</span></a><br/> | 
| 435 |  (<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">Orders.OrderedType</span></a>)<br/> | 435 |  (<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">Orders.OrderedType</span></a>)<br/> | 
| Offset 71, 15 lines modified | Offset 71, 15 lines modified | ||
| 71 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun"·class="idref"·href="#WDecide_fun"><span·class="id"·title="module">WDecide_fun</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>·:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 71 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun"·class="idref"·href="#WDecide_fun"><span·class="id"·title="module">WDecide_fun</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>·:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 
| 72 |  <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.F"·class="idref"·href="#WDecide_fun.F"><span·class="id"·title="module">F</span></a>·:=·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun"><span·class="id"·title="module">FSetFacts.WFacts_fun</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#E"><span·class="id"·title="module">E</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 72 |  <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.F"·class="idref"·href="#WDecide_fun.F"><span·class="id"·title="module">F</span></a>·:=·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun"><span·class="id"·title="module">FSetFacts.WFacts_fun</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#E"><span·class="id"·title="module">E</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 
| 73 | <br/> | 73 | <br/> | 
| 74 | </div> | 74 | </div> | 
| 75 | <div·class="doc"> | 75 | <div·class="doc"> | 
| 76 | <a·id="lab | 76 | <a·id="lab625"></a><h1·class="section">Overview</h1> | 
| 77 | ····This·functor·defines·the·tactic·<span·class="inlinecode"><span·class="id"·title="var">fsetdec</span></span>,·which·will | 77 | ····This·functor·defines·the·tactic·<span·class="inlinecode"><span·class="id"·title="var">fsetdec</span></span>,·which·will | 
| 78 | ····solve·any·valid·goal·of·the·form | 78 | ····solve·any·valid·goal·of·the·form | 
| 79 | <pre> | 79 | <pre> | 
| 80 | ····forall·s1·...·sn, | 80 | ····forall·s1·...·sn, | 
| 81 | ····forall·x1·...·xm, | 81 | ····forall·x1·...·xm, | 
| 82 | ····P1·->·...·->·Pk·->·P | 82 | ····P1·->·...·->·Pk·->·P | 
| Offset 177, 41 lines modified | Offset 177, 41 lines modified | ||
| 177 | </pre> | 177 | </pre> | 
| 178 | </li> | 178 | </li> | 
| 179 | </ul> | 179 | </ul> | 
| 180 | <div·class="paragraph">·</div> | 180 | <div·class="paragraph">·</div> | 
| 181 | <a·id="lab | 181 | <a·id="lab626"></a><h1·class="section">Facts·and·Tactics·for·Propositional·Logic</h1> | 
| 182 | ······These·lemmas·and·tactics·are·in·a·module·so·that·they·do | 182 | ······These·lemmas·and·tactics·are·in·a·module·so·that·they·do | 
| 183 | ······not·affect·the·namespace·if·you·import·the·enclosing | 183 | ······not·affect·the·namespace·if·you·import·the·enclosing | 
| 184 | ······module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.· | 184 | ······module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.· | 
| 185 | </div> | 185 | </div> | 
| 186 | <div·class="code"> | 186 | <div·class="code"> | 
| 187 |   <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.FSetLogicalFacts"·class="idref"·href="#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> | 187 |   <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.FSetLogicalFacts"·class="idref"·href="#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> | 
| 188 |     <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Logic.Decidable.html#"><span·class="id"·title="module">Decidable</span></a>.<br/> | 188 |     <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Logic.Decidable.html#"><span·class="id"·title="module">Decidable</span></a>.<br/> | 
| 189 |     <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="module">Setoid</span></a>.<br/> | 189 |     <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="module">Setoid</span></a>.<br/> | 
| 190 | <br/> | 190 | <br/> | 
| 191 | </div> | 191 | </div> | 
| 192 | <div·class="doc"> | 192 | <div·class="doc"> | 
| 193 | <a·id="lab | 193 | <a·id="lab627"></a><h2·class="section">Lemmas·and·Tactics·About·Decidable·Propositions</h2> | 
| 194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> | 
| 195 | <a·id="lab | 195 | <a·id="lab628"></a><h2·class="section">Propositional·Equivalences·Involving·Negation</h2> | 
| 196 | ········These·are·all·written·with·the·unfolded·form·of | 196 | ········These·are·all·written·with·the·unfolded·form·of | 
| 197 | ········negation,·since·I·am·not·sure·if·setoid·rewriting·will | 197 | ········negation,·since·I·am·not·sure·if·setoid·rewriting·will | 
| 198 | ········always·perform·conversion.· | 198 | ········always·perform·conversion.· | 
| 199 | <div·class="paragraph">·</div> | 199 | <div·class="paragraph">·</div> | 
| 200 | <a·id="lab | 200 | <a·id="lab629"></a><h2·class="section">Tactics·for·Negations</h2> | 
| 201 | </div> | 201 | </div> | 
| 202 | <div·class="code"> | 202 | <div·class="code"> | 
| 203 | <br/> | 203 | <br/> | 
| 204 |     <span·class="id"·title="keyword">Tactic·Notation</span>·"fold"·"any"·"not"·:=<br/> | 204 |     <span·class="id"·title="keyword">Tactic·Notation</span>·"fold"·"any"·"not"·:=<br/> | 
| 205 |       <span·class="id"·title="tactic">repeat</span>·(<br/> | 205 |       <span·class="id"·title="tactic">repeat</span>·(<br/> | 
| Offset 454, 28 lines modified | Offset 454, 28 lines modified | ||
| 454 |   <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> | 454 |   <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> | 
| 455 |   <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> | 455 |   <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> | 
| 456 | <br/> | 456 | <br/> | 
| 457 | </div> | 457 | </div> | 
| 458 | <div·class="doc"> | 458 | <div·class="doc"> | 
| 459 | <a·id="lab | 459 | <a·id="lab630"></a><h1·class="section">Auxiliary·Tactics</h1> | 
| 460 | ······Again,·these·lemmas·and·tactics·are·in·a·module·so·that | 460 | ······Again,·these·lemmas·and·tactics·are·in·a·module·so·that | 
| 461 | ······they·do·not·affect·the·namespace·if·you·import·the | 461 | ······they·do·not·affect·the·namespace·if·you·import·the | 
| 462 | ······enclosing·module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.·· | 462 | ······enclosing·module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.·· | 
| 463 | </div> | 463 | </div> | 
| 464 | <div·class="code"> | 464 | <div·class="code"> | 
| 465 |   <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.FSetDecideAuxiliary"·class="idref"·href="#WDecide_fun.FSetDecideAuxiliary"><span·class="id"·title="module">FSetDecideAuxiliary</span></a>.<br/> | 465 |   <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.FSetDecideAuxiliary"·class="idref"·href="#WDecide_fun.FSetDecideAuxiliary"><span·class="id"·title="module">FSetDecideAuxiliary</span></a>.<br/> | 
| 466 | <br/> | 466 | <br/> | 
| 467 | </div> | 467 | </div> | 
| 468 | <div·class="doc"> | 468 | <div·class="doc"> | 
| 469 | <a·id="lab | 469 | <a·id="lab631"></a><h2·class="section">Generic·Tactics</h2> | 
| 470 | ········We·begin·by·defining·a·few·generic,·useful·tactics.· | 470 | ········We·begin·by·defining·a·few·generic,·useful·tactics.· | 
| 471 | <div·class="paragraph">·</div> | 471 | <div·class="paragraph">·</div> | 
| 472 | ·remove·logical·hypothesis·inter-dependencies·(fix·2136).· | 472 | ·remove·logical·hypothesis·inter-dependencies·(fix·2136).· | 
| 473 | </div> | 473 | </div> | 
| 474 | <div·class="code"> | 474 | <div·class="code"> | 
| Offset 584, 15 lines modified | Offset 584, 15 lines modified | ||
| 584 |         |·<span·class="id"·title="var">H</span>:·<span·class="id"·title="var">_</span>·|-·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">progress</span>·(<span·class="id"·title="var">decompose</span>·<span·class="id"·title="var">record</span>·<span·class="id"·title="var">H</span>);·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 584 |         |·<span·class="id"·title="var">H</span>:·<span·class="id"·title="var">_</span>·|-·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">progress</span>·(<span·class="id"·title="var">decompose</span>·<span·class="id"·title="var">record</span>·<span·class="id"·title="var">H</span>);·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 
| 585 |         <span·class="id"·title="keyword">end</span>).<br/> | 585 |         <span·class="id"·title="keyword">end</span>).<br/> | 
| 586 | <br/> | 586 | <br/> | 
| 587 | </div> | 587 | </div> | 
| 588 | <div·class="doc"> | 588 | <div·class="doc"> | 
| 589 | <a·id="lab | 589 | <a·id="lab632"></a><h2·class="section">Discarding·Irrelevant·Hypotheses</h2> | 
| 590 | ········We·will·want·to·clear·the·context·of·any | 590 | ········We·will·want·to·clear·the·context·of·any | 
| 591 | ········non-FSet-related·hypotheses·in·order·to·increase·the | 591 | ········non-FSet-related·hypotheses·in·order·to·increase·the | 
| 592 | ········speed·of·the·tactic.··To·do·this,·we·will·need·to·be | 592 | ········speed·of·the·tactic.··To·do·this,·we·will·need·to·be | 
| 593 | ········able·to·decide·which·are·relevant.··We·do·this·by·making | 593 | ········able·to·decide·which·are·relevant.··We·do·this·by·making | 
| 594 | ········a·simple·inductive·definition·classifying·the | 594 | ········a·simple·inductive·definition·classifying·the | 
| 595 | ········propositions·of·interest.· | 595 | ········propositions·of·interest.· | 
| Offset 664, 15 lines modified | Offset 664, 15 lines modified | ||
| 664 |           <span·class="id"·title="keyword">else</span>·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 664 |           <span·class="id"·title="keyword">else</span>·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 
| 665 |         <span·class="id"·title="keyword">end</span>).<br/> | 665 |         <span·class="id"·title="keyword">end</span>).<br/> | 
| 666 | <br/> | 666 | <br/> | 
| 667 | </div> | 667 | </div> | 
| 668 | <div·class="doc"> | 668 | <div·class="doc"> | 
| 669 | <a·id="lab | 669 | <a·id="lab633"></a><h2·class="section">Turning·Set·Operators·into·Propositional·Connectives</h2> | 
| 670 | ········The·lemmas·from·<span·class="inlinecode"><span·class="id"·title="var">FSetFacts</span></span>·will·be·used·to·break·down | 670 | ········The·lemmas·from·<span·class="inlinecode"><span·class="id"·title="var">FSetFacts</span></span>·will·be·used·to·break·down | 
| 671 | ········set·operations·into·propositional·formulas·built·over | 671 | ········set·operations·into·propositional·formulas·built·over | 
| 672 | ········the·predicates·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">E.eq</span></span>·applied·only·to | 672 | ········the·predicates·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">E.eq</span></span>·applied·only·to | 
| 673 | ········variables.··We·are·going·to·use·them·with·<span·class="inlinecode"><span·class="id"·title="tactic">autorewrite</span></span>. | 673 | ········variables.··We·are·going·to·use·them·with·<span·class="inlinecode"><span·class="id"·title="tactic">autorewrite</span></span>. | 
| 674 | ········ | 674 | ········ | 
| 675 | </div> | 675 | </div> | 
| Offset 690, 15 lines modified | Offset 690, 15 lines modified | ||
| 690 | <br/> | 690 | <br/> | 
| 691 |     <span·class="id"·title="keyword">Global·Hint·Rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetDecideAuxiliary.eq_refl_iff"><span·class="id"·title="lemma">eq_refl_iff</span></a>·:·<span·class="id"·title="var">set_eq_simpl</span>.<br/> | 691 |     <span·class="id"·title="keyword">Global·Hint·Rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetDecideAuxiliary.eq_refl_iff"><span·class="id"·title="lemma">eq_refl_iff</span></a>·:·<span·class="id"·title="var">set_eq_simpl</span>.<br/> | 
| 692 | <br/> | 692 | <br/> | 
| 693 | </div> | 693 | </div> | 
| 694 | <div·class="doc"> | 694 | <div·class="doc"> | 
| 695 | <a·id="lab | 695 | <a·id="lab634"></a><h2·class="section">Decidability·of·FSet·Propositions</h2> | 
| Max diff block lines reached; 7276/14994 bytes (48.53%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab6 | 49 | <a·id="lab661"></a><h1·class="section">Finite·sets·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·module·proves·many·properties·of·finite·sets·that | 51 | ·This·module·proves·many·properties·of·finite·sets·that | 
| 52 | ····are·consequences·of·the·axiomatization·in·<span·class="inlinecode"><span·class="id"·title="var">FsetInterface</span></span> | 52 | ····are·consequences·of·the·axiomatization·in·<span·class="inlinecode"><span·class="id"·title="var">FsetInterface</span></span> | 
| 53 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FsetProperties</span></span>·it·uses | 53 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FsetProperties</span></span>·it·uses | 
| 54 | ····sets·operations·instead·of·predicates·over·sets,·i.e. | 54 | ····sets·operations·instead·of·predicates·over·sets,·i.e. | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab515"></a><h1·class="section">Finite·sets·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>.·These | 51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>.·These | 
| 52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>·written·using | 52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>·written·using | 
| 53 | ··different·styles:·equivalence·and·boolean·equalities. | 53 | ··different·styles:·equivalence·and·boolean·equalities. | 
| 54 | ··Moreover,·we·prove·that·<span·class="inlinecode"><span·class="id"·title="var">E.Eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·are·setoid·equalities. | 54 | ··Moreover,·we·prove·that·<span·class="inlinecode"><span·class="id"·title="var">E.Eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·are·setoid·equalities. | 
| Offset 81, 15 lines modified | Offset 81, 15 lines modified | ||
| 81 | <span·class="id"·title="keyword">Notation</span>·<a·id="WFacts_fun.eq_dec"·class="idref"·href="#WFacts_fun.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·:=·<a·class="idref"·href="Coq.FSets.FSetFacts.html#E.eq_dec"><span·class="id"·title="axiom">E.eq_dec</span></a>.<br/> | 81 | <span·class="id"·title="keyword">Notation</span>·<a·id="WFacts_fun.eq_dec"·class="idref"·href="#WFacts_fun.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·:=·<a·class="idref"·href="Coq.FSets.FSetFacts.html#E.eq_dec"><span·class="id"·title="axiom">E.eq_dec</span></a>.<br/> | 
| 82 | <span·class="id"·title="keyword">Definition</span>·<a·id="WFacts_fun.eqb"·class="idref"·href="#WFacts_fun.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#y:2"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 82 | <span·class="id"·title="keyword">Definition</span>·<a·id="WFacts_fun.eqb"·class="idref"·href="#WFacts_fun.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#y:2"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 
| 83 | <br/> | 83 | <br/> | 
| 84 | </div> | 84 | </div> | 
| 85 | <div·class="doc"> | 85 | <div·class="doc"> | 
| 86 | <a·id="lab | 86 | <a·id="lab516"></a><h1·class="section">Specifications·written·using·equivalences</h1> | 
| 87 | </div> | 87 | </div> | 
| 88 | <div·class="code"> | 88 | <div·class="code"> | 
| 89 | <br/> | 89 | <br/> | 
| 90 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.IffSpec"·class="idref"·href="#WFacts_fun.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> | 90 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.IffSpec"·class="idref"·href="#WFacts_fun.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> | 
| 91 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.IffSpec.s"·class="idref"·href="#WFacts_fun.IffSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFacts_fun.IffSpec.s'"·class="idref"·href="#WFacts_fun.IffSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFacts_fun.IffSpec.s''"·class="idref"·href="#WFacts_fun.IffSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 91 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.IffSpec.s"·class="idref"·href="#WFacts_fun.IffSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFacts_fun.IffSpec.s'"·class="idref"·href="#WFacts_fun.IffSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFacts_fun.IffSpec.s''"·class="idref"·href="#WFacts_fun.IffSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 
| Offset 175, 15 lines modified | Offset 175, 15 lines modified | ||
| 175 |   ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.union_iff"><span·class="id"·title="lemma">union_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.inter_iff"><span·class="id"·title="lemma">inter_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.diff_iff"><span·class="id"·title="lemma">diff_iff</span></a><br/> | 175 |   ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.union_iff"><span·class="id"·title="lemma">union_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.inter_iff"><span·class="id"·title="lemma">inter_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.diff_iff"><span·class="id"·title="lemma">diff_iff</span></a><br/> | 
| 176 |   ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.empty_iff"><span·class="id"·title="lemma">empty_iff</span></a>)).<br/> | 176 |   ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.empty_iff"><span·class="id"·title="lemma">empty_iff</span></a>)).<br/> | 
| 177 | <br/> | 177 | <br/> | 
| 178 | </div> | 178 | </div> | 
| 179 | <div·class="doc"> | 179 | <div·class="doc"> | 
| 180 | <a·id="lab | 180 | <a·id="lab517"></a><h1·class="section">Specifications·written·using·boolean·predicates</h1> | 
| 181 | </div> | 181 | </div> | 
| 182 | <div·class="code"> | 182 | <div·class="code"> | 
| 183 | <br/> | 183 | <br/> | 
| 184 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.BoolSpec"·class="idref"·href="#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 184 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.BoolSpec"·class="idref"·href="#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 
| 185 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.BoolSpec.s"·class="idref"·href="#WFacts_fun.BoolSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFacts_fun.BoolSpec.s'"·class="idref"·href="#WFacts_fun.BoolSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFacts_fun.BoolSpec.s''"·class="idref"·href="#WFacts_fun.BoolSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 185 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.BoolSpec.s"·class="idref"·href="#WFacts_fun.BoolSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFacts_fun.BoolSpec.s'"·class="idref"·href="#WFacts_fun.BoolSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFacts_fun.BoolSpec.s''"·class="idref"·href="#WFacts_fun.BoolSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 
| Offset 239, 15 lines modified | Offset 239, 15 lines modified | ||
| 239 | <br/> | 239 | <br/> | 
| 240 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 240 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 
| 241 | <br/> | 241 | <br/> | 
| 242 | </div> | 242 | </div> | 
| 243 | <div·class="doc"> | 243 | <div·class="doc"> | 
| 244 | <a·id="lab | 244 | <a·id="lab518"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">E.eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·are·setoid·equalities</h1> | 
| 245 | </div> | 245 | </div> | 
| 246 | <div·class="code"> | 246 | <div·class="code"> | 
| 247 | <br/> | 247 | <br/> | 
| 248 | #[<span·class="id"·title="var">global</span>]<br/> | 248 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 249 | <span·class="id"·title="keyword">Instance</span>·<a·id="WFacts_fun.E_ST"·class="idref"·href="#WFacts_fun.E_ST"><span·class="id"·title="instance">E_ST</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a>.<br/> | 249 | <span·class="id"·title="keyword">Instance</span>·<a·id="WFacts_fun.E_ST"·class="idref"·href="#WFacts_fun.E_ST"><span·class="id"·title="instance">E_ST</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab550"></a><h1·class="section">Finite·set·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·Set·interfaces,·inspired·by·the·one·of·Ocaml.·When·compared·with | 51 | ·Set·interfaces,·inspired·by·the·one·of·Ocaml.·When·compared·with | 
| 52 | ····Ocaml,·the·main·differences·are: | 52 | ····Ocaml,·the·main·differences·are: | 
| 53 | <ul·class="doclist"> | 53 | <ul·class="doclist"> | 
| 54 | <li>·the·lack·of·<span·class="inlinecode"><span·class="id"·title="var">iter</span></span>·function,·useless·since·Coq·is·purely·functional | 54 | <li>·the·lack·of·<span·class="inlinecode"><span·class="id"·title="var">iter</span></span>·function,·useless·since·Coq·is·purely·functional | 
| Offset 101, 24 lines modified | Offset 101, 24 lines modified | ||
| 101 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.DecidableType.html#"><span·class="id"·title="library">DecidableType</span></a>.<br/> | 101 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.DecidableType.html#"><span·class="id"·title="library">DecidableType</span></a>.<br/> | 
| 102 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 102 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 103 | <br/> | 103 | <br/> | 
| 104 | </div> | 104 | </div> | 
| 105 | <div·class="doc"> | 105 | <div·class="doc"> | 
| 106 | <a·id="lab | 106 | <a·id="lab551"></a><h1·class="section">Non-dependent·signatures</h1> | 
| 107 | <div·class="paragraph">·</div> | 107 | <div·class="paragraph">·</div> | 
| 108 | ····The·following·signatures·presents·sets·as·purely·informative | 108 | ····The·following·signatures·presents·sets·as·purely·informative | 
| 109 | ····programs·together·with·axioms· | 109 | ····programs·together·with·axioms· | 
| 110 | <div·class="paragraph">·</div> | 110 | <div·class="paragraph">·</div> | 
| 111 | <a·id="lab | 111 | <a·id="lab552"></a><h2·class="section">Functorial·signature·for·weak·sets</h2> | 
| 112 | <div·class="paragraph">·</div> | 112 | <div·class="paragraph">·</div> | 
| 113 | ····Weak·sets·are·sets·without·ordering·on·base·elements,·only | 113 | ····Weak·sets·are·sets·without·ordering·on·base·elements,·only | 
| 114 | ····a·decidable·equality.· | 114 | ····a·decidable·equality.· | 
| 115 | </div> | 115 | </div> | 
| Offset 615, 15 lines modified | Offset 615, 15 lines modified | ||
| 615 | <br/> | 615 | <br/> | 
| 616 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>.<br/> | 616 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>.<br/> | 
| 617 | <br/> | 617 | <br/> | 
| 618 | </div> | 618 | </div> | 
| 619 | <div·class="doc"> | 619 | <div·class="doc"> | 
| 620 | <a·id="lab | 620 | <a·id="lab553"></a><h2·class="section">Static·signature·for·weak·sets</h2> | 
| 621 | <div·class="paragraph">·</div> | 621 | <div·class="paragraph">·</div> | 
| 622 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">SW</span></span>,·except·that·the | 622 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">SW</span></span>,·except·that·the | 
| 623 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 623 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 
| 624 | </div> | 624 | </div> | 
| Offset 635, 15 lines modified | Offset 635, 15 lines modified | ||
| 635 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WS.E"><span·class="id"·title="module">E</span></a>.<br/> | 635 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WS.E"><span·class="id"·title="module">E</span></a>.<br/> | 
| 636 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WS"><span·class="id"·title="module">WS</span></a>.<br/> | 636 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WS"><span·class="id"·title="module">WS</span></a>.<br/> | 
| 637 | <br/> | 637 | <br/> | 
| 638 | </div> | 638 | </div> | 
| 639 | <div·class="doc"> | 639 | <div·class="doc"> | 
| 640 | <a·id="lab | 640 | <a·id="lab554"></a><h2·class="section">Functorial·signature·for·sets·on·ordered·elements</h2> | 
| 641 | <div·class="paragraph">·</div> | 641 | <div·class="paragraph">·</div> | 
| 642 | ····Based·on·<span·class="inlinecode"><span·class="id"·title="var">WSfun</span></span>,·plus·ordering·on·sets·and·<span·class="inlinecode"><span·class="id"·title="var">min_elt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">max_elt</span></span> | 642 | ····Based·on·<span·class="inlinecode"><span·class="id"·title="var">WSfun</span></span>,·plus·ordering·on·sets·and·<span·class="inlinecode"><span·class="id"·title="var">min_elt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">max_elt</span></span> | 
| 643 | ····and·some·stronger·specifications·for·other·functions.· | 643 | ····and·some·stronger·specifications·for·other·functions.· | 
| 644 | </div> | 644 | </div> | 
| Offset 762, 15 lines modified | Offset 762, 15 lines modified | ||
| 762 | <br/> | 762 | <br/> | 
| 763 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>.<br/> | 763 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>.<br/> | 
| 764 | <br/> | 764 | <br/> | 
| 765 | </div> | 765 | </div> | 
| 766 | <div·class="doc"> | 766 | <div·class="doc"> | 
| 767 | <a·id="lab | 767 | <a·id="lab555"></a><h2·class="section">Static·signature·for·sets·on·ordered·elements</h2> | 
| 768 | <div·class="paragraph">·</div> | 768 | <div·class="paragraph">·</div> | 
| 769 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">Sfun</span></span>,·except·that·the | 769 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">Sfun</span></span>,·except·that·the | 
| 770 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 770 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 
| 771 | </div> | 771 | </div> | 
| Offset 782, 15 lines modified | Offset 782, 15 lines modified | ||
| 782 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S.E"><span·class="id"·title="module">E</span></a>.<br/> | 782 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S.E"><span·class="id"·title="module">E</span></a>.<br/> | 
| 783 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>.<br/> | 783 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>.<br/> | 
| 784 | <br/> | 784 | <br/> | 
| 785 | </div> | 785 | </div> | 
| 786 | <div·class="doc"> | 786 | <div·class="doc"> | 
| 787 | <a·id="lab | 787 | <a·id="lab556"></a><h2·class="section">Some·subtyping·tests</h2> | 
| 788 | <pre> | 788 | <pre> | 
| 789 | WSfun·--->·WS | 789 | WSfun·--->·WS | 
| 790 | ·|·········| | 790 | ·|·········| | 
| 791 | ·|·········| | 791 | ·|·········| | 
| 792 | ·V·········V | 792 | ·V·········V | 
| 793 | Sfun··--->·S | 793 | Sfun··--->·S | 
| Offset 799, 15 lines modified | Offset 799, 15 lines modified | ||
| 799 | Module·Sfun_WSfun·(E:OrderedType)(M·:·Sfun·E)·<:·WSfun·E·:=·M. | 799 | Module·Sfun_WSfun·(E:OrderedType)(M·:·Sfun·E)·<:·WSfun·E·:=·M. | 
| 800 | Module·S_Sfun·(M·:·S)·<:·Sfun·M.E·:=·M. | 800 | Module·S_Sfun·(M·:·S)·<:·Sfun·M.E·:=·M. | 
| 801 | Module·WS_WSfun·(M·:·WS)·<:·WSfun·M.E·:=·M. | 801 | Module·WS_WSfun·(M·:·WS)·<:·WSfun·M.E·:=·M. | 
| 802 | </pre> | 802 | </pre> | 
| 803 | <div·class="paragraph">·</div> | 803 | <div·class="paragraph">·</div> | 
| 804 | <a·id="lab | 804 | <a·id="lab557"></a><h1·class="section">Dependent·signature</h1> | 
| 805 | <div·class="paragraph">·</div> | 805 | <div·class="paragraph">·</div> | 
| 806 | ····Signature·<span·class="inlinecode"><span·class="id"·title="var">Sdep</span></span>·presents·ordered·sets·using·dependent·types· | 806 | ····Signature·<span·class="inlinecode"><span·class="id"·title="var">Sdep</span></span>·presents·ordered·sets·using·dependent·types· | 
| 807 | </div> | 807 | </div> | 
| 808 | <div·class="code"> | 808 | <div·class="code"> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab559"></a><h1·class="section">Finite·sets·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 
| 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>·using·strictly·ordered·list.· | 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>·using·strictly·ordered·list.· | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="code"> | 54 | <div·class="code"> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab531"></a><h1·class="section">Finite·sets·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·functor·derives·additional·properties·from·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>. | 51 | ·This·functor·derives·additional·properties·from·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>. | 
| 52 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FSetEqProperties</span></span>·it·uses | 52 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FSetEqProperties</span></span>·it·uses | 
| 53 | ····predicates·over·sets·instead·of·sets·operations,·i.e. | 53 | ····predicates·over·sets·instead·of·sets·operations,·i.e. | 
| 54 | ····<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·instead·of·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span>=<span·class="id"·title="var">true</span></span>, | 54 | ····<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·instead·of·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span>=<span·class="id"·title="var">true</span></span>, | 
| Offset 337, 30 lines modified | Offset 337, 30 lines modified | ||
| 337 |     <span·class="id"·title="var">remove_diff_singleton</span>·<span·class="id"·title="var">diff_inter_empty</span>·<span·class="id"·title="var">diff_inter_all</span>·<span·class="id"·title="var">Add_add</span>·<span·class="id"·title="var">Add_remove</span><br/> | 337 |     <span·class="id"·title="var">remove_diff_singleton</span>·<span·class="id"·title="var">diff_inter_empty</span>·<span·class="id"·title="var">diff_inter_all</span>·<span·class="id"·title="var">Add_add</span>·<span·class="id"·title="var">Add_remove</span><br/> | 
| 338 |     <span·class="id"·title="var">Equal_remove</span>·<span·class="id"·title="var">add_add</span>·:·<span·class="id"·title="tactic">set</span>.<br/> | 338 |     <span·class="id"·title="var">Equal_remove</span>·<span·class="id"·title="var">add_add</span>·:·<span·class="id"·title="tactic">set</span>.<br/> | 
| 339 | <br/> | 339 | <br/> | 
| 340 | </div> | 340 | </div> | 
| 341 | <div·class="doc"> | 341 | <div·class="doc"> | 
| 342 | <a·id="lab | 342 | <a·id="lab532"></a><h1·class="section">Properties·of·elements</h1> | 
| 343 | </div> | 343 | </div> | 
| 344 | <div·class="code"> | 344 | <div·class="code"> | 
| 345 | <br/> | 345 | <br/> | 
| 346 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.elements_Empty"·class="idref"·href="#WProperties_fun.elements_Empty"><span·class="id"·title="lemma">elements_Empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 346 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.elements_Empty"·class="idref"·href="#WProperties_fun.elements_Empty"><span·class="id"·title="lemma">elements_Empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 
| 347 | <br/> | 347 | <br/> | 
| 348 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.elements_empty"·class="idref"·href="#WProperties_fun.elements_empty"><span·class="id"·title="lemma">elements_empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 348 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.elements_empty"·class="idref"·href="#WProperties_fun.elements_empty"><span·class="id"·title="lemma">elements_empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 
| 349 | <br/> | 349 | <br/> | 
| 350 | </div> | 350 | </div> | 
| 351 | <div·class="doc"> | 351 | <div·class="doc"> | 
| 352 | <a·id="lab | 352 | <a·id="lab533"></a><h1·class="section">Conversions·between·lists·and·sets</h1> | 
| 353 | </div> | 353 | </div> | 
| 354 | <div·class="code"> | 354 | <div·class="code"> | 
| 355 | <br/> | 355 | <br/> | 
| 356 |   <span·class="id"·title="keyword">Definition</span>·<a·id="WProperties_fun.of_list"·class="idref"·href="#WProperties_fun.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·id="l:29"·class="idref"·href="#l:29"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.elt"><span·class="id"·title="definition">elt</span></a>)·:=·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#l:29"><span·class="id"·title="variable">l</span></a>.<br/> | 356 |   <span·class="id"·title="keyword">Definition</span>·<a·id="WProperties_fun.of_list"·class="idref"·href="#WProperties_fun.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·id="l:29"·class="idref"·href="#l:29"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.elt"><span·class="id"·title="definition">elt</span></a>)·:=·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#l:29"><span·class="id"·title="variable">l</span></a>.<br/> | 
| Offset 376, 15 lines modified | Offset 376, 15 lines modified | ||
| 376 | <br/> | 376 | <br/> | 
| 377 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.of_list_3"·class="idref"·href="#WProperties_fun.of_list_3"><span·class="id"·title="lemma">of_list_3</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>.<br/> | 377 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.of_list_3"·class="idref"·href="#WProperties_fun.of_list_3"><span·class="id"·title="lemma">of_list_3</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>.<br/> | 
| 378 | <br/> | 378 | <br/> | 
| 379 | </div> | 379 | </div> | 
| 380 | <div·class="doc"> | 380 | <div·class="doc"> | 
| 381 | <a·id="lab | 381 | <a·id="lab534"></a><h1·class="section">Fold</h1> | 
| 382 | </div> | 382 | </div> | 
| 383 | <div·class="code"> | 383 | <div·class="code"> | 
| 384 | <br/> | 384 | <br/> | 
| 385 |   <span·class="id"·title="keyword">Section</span>·<a·id="WProperties_fun.Fold"·class="idref"·href="#WProperties_fun.Fold"><span·class="id"·title="section">Fold</span></a>.<br/> | 385 |   <span·class="id"·title="keyword">Section</span>·<a·id="WProperties_fun.Fold"·class="idref"·href="#WProperties_fun.Fold"><span·class="id"·title="section">Fold</span></a>.<br/> | 
| Offset 404, 15 lines modified | Offset 404, 15 lines modified | ||
| 404 |   <span·class="id"·title="keyword">Notation</span>·<a·id="WProperties_fun.NoDup"·class="idref"·href="#WProperties_fun.NoDup"><span·class="id"·title="abbreviation">NoDup</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a>).<br/> | 404 |   <span·class="id"·title="keyword">Notation</span>·<a·id="WProperties_fun.NoDup"·class="idref"·href="#WProperties_fun.NoDup"><span·class="id"·title="abbreviation">NoDup</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a>).<br/> | 
| 405 |   <span·class="id"·title="keyword">Notation</span>·<a·id="WProperties_fun.InA"·class="idref"·href="#WProperties_fun.InA"><span·class="id"·title="abbreviation">InA</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#InA"><span·class="id"·title="inductive">InA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a>).<br/> | 405 |   <span·class="id"·title="keyword">Notation</span>·<a·id="WProperties_fun.InA"·class="idref"·href="#WProperties_fun.InA"><span·class="id"·title="abbreviation">InA</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#InA"><span·class="id"·title="inductive">InA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a>).<br/> | 
| 406 | <br/> | 406 | <br/> | 
| 407 | </div> | 407 | </div> | 
| 408 | <div·class="doc"> | 408 | <div·class="doc"> | 
| 409 | <a·id="lab | 409 | <a·id="lab535"></a><h2·class="section">Induction·principles·for·fold·(contributed·by·S.·Lescuyer)</h2> | 
| 410 | <div·class="paragraph">·</div> | 410 | <div·class="paragraph">·</div> | 
| 411 | ·In·the·following·lemma,·the·step·hypothesis·is·deliberately·restricted | 411 | ·In·the·following·lemma,·the·step·hypothesis·is·deliberately·restricted | 
| 412 | ······to·the·precise·set·s·we·are·considering.· | 412 | ······to·the·precise·set·s·we·are·considering.· | 
| 413 | </div> | 413 | </div> | 
| 414 | <div·class="code"> | 414 | <div·class="code"> | 
| Offset 510, 15 lines modified | Offset 510, 15 lines modified | ||
| 510 | <br/> | 510 | <br/> | 
| 511 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_identity"·class="idref"·href="#WProperties_fun.fold_identity"><span·class="id"·title="lemma">fold_identity</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:120"·class="idref"·href="#s:120"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>.<br/> | 511 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_identity"·class="idref"·href="#WProperties_fun.fold_identity"><span·class="id"·title="lemma">fold_identity</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:120"·class="idref"·href="#s:120"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>.<br/> | 
| 512 | <br/> | 512 | <br/> | 
| 513 | </div> | 513 | </div> | 
| 514 | <div·class="doc"> | 514 | <div·class="doc"> | 
| 515 | <a·id="lab | 515 | <a·id="lab536"></a><h2·class="section">Alternative·(weaker)·specifications·for·<span·class="inlinecode"><span·class="id"·title="tactic">fold</span></span></h2> | 
| 516 | <div·class="paragraph">·</div> | 516 | <div·class="paragraph">·</div> | 
| 517 | ·When·<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·was·first·designed,·the·order·in·which·Ocaml's·<span·class="inlinecode"><span·class="id"·title="var">Set.fold</span></span> | 517 | ·When·<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·was·first·designed,·the·order·in·which·Ocaml's·<span·class="inlinecode"><span·class="id"·title="var">Set.fold</span></span> | 
| 518 | ······takes·the·set·elements·was·unspecified.·This·specification·reflects | 518 | ······takes·the·set·elements·was·unspecified.·This·specification·reflects | 
| 519 | ······this·fact: | 519 | ······this·fact: | 
| 520 | ·· | 520 | ·· | 
| Offset 582, 15 lines modified | Offset 582, 15 lines modified | ||
| 582 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_commutes"·class="idref"·href="#WProperties_fun.fold_commutes"><span·class="id"·title="lemma">fold_commutes</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:161"·class="idref"·href="#i:161"><span·class="id"·title="binder">i</span></a>·<a·id="s:162"·class="idref"·href="#s:162"><span·class="id"·title="binder">s</span></a>·<a·id="x:163"·class="idref"·href="#x:163"><span·class="id"·title="binder">x</span></a>,<br/> | 582 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_commutes"·class="idref"·href="#WProperties_fun.fold_commutes"><span·class="id"·title="lemma">fold_commutes</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:161"·class="idref"·href="#i:161"><span·class="id"·title="binder">i</span></a>·<a·id="s:162"·class="idref"·href="#s:162"><span·class="id"·title="binder">s</span></a>·<a·id="x:163"·class="idref"·href="#x:163"><span·class="id"·title="binder">x</span></a>,<br/> | 
| 583 |    <a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>)).<br/> | 583 |    <a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>)).<br/> | 
| 584 | <br/> | 584 | <br/> | 
| 585 | </div> | 585 | </div> | 
| 586 | <div·class="doc"> | 586 | <div·class="doc"> | 
| 587 | <a·id="lab | 587 | <a·id="lab537"></a><h2·class="section">Fold·is·a·morphism</h2> | 
| 588 | </div> | 588 | </div> | 
| 589 | <div·class="code"> | 589 | <div·class="code"> | 
| 590 | <br/> | 590 | <br/> | 
| 591 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_init"·class="idref"·href="#WProperties_fun.fold_init"><span·class="id"·title="lemma">fold_init</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:168"·class="idref"·href="#i:168"><span·class="id"·title="binder">i</span></a>·<a·id="i':169"·class="idref"·href="#i':169"><span·class="id"·title="binder">i'</span></a>·<a·id="s:170"·class="idref"·href="#s:170"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 591 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_init"·class="idref"·href="#WProperties_fun.fold_init"><span·class="id"·title="lemma">fold_init</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:168"·class="idref"·href="#i:168"><span·class="id"·title="binder">i</span></a>·<a·id="i':169"·class="idref"·href="#i':169"><span·class="id"·title="binder">i'</span></a>·<a·id="s:170"·class="idref"·href="#s:170"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 592 |    <a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>).<br/> | 592 |    <a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>).<br/> | 
| Offset 599, 15 lines modified | Offset 599, 15 lines modified | ||
| 599 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_equal"·class="idref"·href="#WProperties_fun.fold_equal"><span·class="id"·title="lemma">fold_equal</span></a>·:<br/> | 599 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_equal"·class="idref"·href="#WProperties_fun.fold_equal"><span·class="id"·title="lemma">fold_equal</span></a>·:<br/> | 
| 600 |    <span·class="id"·title="keyword">forall</span>·<a·id="i:171"·class="idref"·href="#i:171"><span·class="id"·title="binder">i</span></a>·<a·id="s:172"·class="idref"·href="#s:172"><span·class="id"·title="binder">s</span></a>·<a·id="s':173"·class="idref"·href="#s':173"><span·class="id"·title="binder">s'</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a><a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a><a·class="idref"·href="Coq.FSets.FSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>).<br/> | 600 |    <span·class="id"·title="keyword">forall</span>·<a·id="i:171"·class="idref"·href="#i:171"><span·class="id"·title="binder">i</span></a>·<a·id="s:172"·class="idref"·href="#s:172"><span·class="id"·title="binder">s</span></a>·<a·id="s':173"·class="idref"·href="#s':173"><span·class="id"·title="binder">s'</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a><a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a><a·class="idref"·href="Coq.FSets.FSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>).<br/> | 
| 601 | <br/> | 601 | <br/> | 
| 602 | </div> | 602 | </div> | 
| 603 | <div·class="doc"> | 603 | <div·class="doc"> | 
| 604 | <a·id="lab | 604 | <a·id="lab538"></a><h2·class="section">Fold·and·other·set·operators</h2> | 
| 605 | </div> | 605 | </div> | 
| 606 | <div·class="code"> | 606 | <div·class="code"> | 
| 607 | <br/> | 607 | <br/> | 
| 608 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_empty"·class="idref"·href="#WProperties_fun.fold_empty"><span·class="id"·title="lemma">fold_empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:174"·class="idref"·href="#i:174"><span·class="id"·title="binder">i</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>.<br/> | 608 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_empty"·class="idref"·href="#WProperties_fun.fold_empty"><span·class="id"·title="lemma">fold_empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:174"·class="idref"·href="#i:174"><span·class="id"·title="binder">i</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>.<br/> | 
| Offset 651, 31 lines modified | Offset 651, 31 lines modified | ||
| Max diff block lines reached; 11505/28370 bytes (40.55%) of diff not shown. | |||
| Offset 45, 28 lines modified | Offset 45, 28 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab578"></a><h1·class="section">Finite·sets·library·:·conversion·to·old·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span></h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Sets.Ensembles.html#"><span·class="id"·title="library">Ensembles</span></a>·<a·class="idref"·href="Coq.Sets.Finite_sets.html#"><span·class="id"·title="library">Finite_sets</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Sets.Ensembles.html#"><span·class="id"·title="library">Ensembles</span></a>·<a·class="idref"·href="Coq.Sets.Finite_sets.html#"><span·class="id"·title="library">Finite_sets</span></a>.<br/> | 
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#"><span·class="id"·title="library">FSetProperties</span></a>·<a·class="idref"·href="Coq.Structures.OrderedTypeEx.html#"><span·class="id"·title="library">OrderedTypeEx</span></a>·<a·class="idref"·href="Coq.Structures.DecidableTypeEx.html#"><span·class="id"·title="library">DecidableTypeEx</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#"><span·class="id"·title="library">FSetProperties</span></a>·<a·class="idref"·href="Coq.Structures.OrderedTypeEx.html#"><span·class="id"·title="library">OrderedTypeEx</span></a>·<a·class="idref"·href="Coq.Structures.DecidableTypeEx.html#"><span·class="id"·title="library">DecidableTypeEx</span></a>.<br/> | 
| 55 | <br/> | 55 | <br/> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="doc"> | 57 | <div·class="doc"> | 
| 58 | <a·id="lab | 58 | <a·id="lab579"></a><h1·class="section">Going·from·<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·with·usual·Leibniz·equality</h1> | 
| 59 | ····to·the·good·old·<span·class="inlinecode"><span·class="id"·title="var">Ensembles</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span>·theory.· | 59 | ····to·the·good·old·<span·class="inlinecode"><span·class="id"·title="var">Ensembles</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span>·theory.· | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="code"> | 61 | <div·class="code"> | 
| 62 | <br/> | 62 | <br/> | 
| 63 | <span·class="id"·title="keyword">Module</span>·<a·id="WS_to_Finite_set"·class="idref"·href="#WS_to_Finite_set"><span·class="id"·title="module">WS_to_Finite_set</span></a>·(<span·class="id"·title="var">U</span>:<a·class="idref"·href="Coq.Structures.DecidableTypeEx.html#UsualDecidableType"><span·class="id"·title="module">UsualDecidableType</span></a>)(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetToFiniteSet.html#U"><span·class="id"·title="module">U</span></a>).<br/> | 63 | <span·class="id"·title="keyword">Module</span>·<a·id="WS_to_Finite_set"·class="idref"·href="#WS_to_Finite_set"><span·class="id"·title="module">WS_to_Finite_set</span></a>·(<span·class="id"·title="var">U</span>:<a·class="idref"·href="Coq.Structures.DecidableTypeEx.html#UsualDecidableType"><span·class="id"·title="module">UsualDecidableType</span></a>)(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetToFiniteSet.html#U"><span·class="id"·title="module">U</span></a>).<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab663"></a><h1·class="section">Finite·sets·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 
| 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.WS</span></span>·using·lists·without·redundancy.· | 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.WS</span></span>·using·lists·without·redundancy.· | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="code"> | 54 | <div·class="code"> | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab406"></a><h1·class="section">Properties·of·the·primitive·operators·for·the·Binary64·format</h1> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="code"> | 55 | <div·class="code"> | 
| 56 | <br/> | 56 | <br/> | 
| 57 | <span·class="id"·title="keyword">Notation</span>·<a·id="valid_binary"·class="idref"·href="#valid_binary"><span·class="id"·title="abbreviation">valid_binary</span></a>·:=·(<a·class="idref"·href="Coq.Floats.SpecFloat.html#valid_binary"><span·class="id"·title="definition">valid_binary</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>).<br/> | 57 | <span·class="id"·title="keyword">Notation</span>·<a·id="valid_binary"·class="idref"·href="#valid_binary"><span·class="id"·title="abbreviation">valid_binary</span></a>·:=·(<a·class="idref"·href="Coq.Floats.SpecFloat.html#valid_binary"><span·class="id"·title="definition">valid_binary</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>).<br/> | 
| Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>·<a·class="idref"·href="Coq.Floats.FloatAxioms.html#"><span·class="id"·title="library">FloatAxioms</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>·<a·class="idref"·href="Coq.Floats.FloatAxioms.html#"><span·class="id"·title="library">FloatAxioms</span></a>.<br/> | 
| 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Psatz.html#"><span·class="id"·title="library">Psatz</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Psatz.html#"><span·class="id"·title="library">Psatz</span></a>.<br/> | 
| 51 | <br/> | 51 | <br/> | 
| 52 | </div> | 52 | </div> | 
| 53 | <div·class="doc"> | 53 | <div·class="doc"> | 
| 54 | <a·id="lab | 54 | <a·id="lab407"></a><h1·class="section">Support·results·involving·frexp·and·ldexp</h1> | 
| 55 | </div> | 55 | </div> | 
| 56 | <div·class="code"> | 56 | <div·class="code"> | 
| 57 | <br/> | 57 | <br/> | 
| 58 | <span·class="id"·title="keyword">Lemma</span>·<a·id="shift_value"·class="idref"·href="#shift_value"><span·class="id"·title="lemma">shift_value</span></a>·:·<a·class="idref"·href="Coq.Floats.FloatOps.html#shift"><span·class="id"·title="definition">shift</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(2<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>)%<span·class="id"·title="var">Z</span>.<br/> | 58 | <span·class="id"·title="keyword">Lemma</span>·<a·id="shift_value"·class="idref"·href="#shift_value"><span·class="id"·title="lemma">shift_value</span></a>·:·<a·class="idref"·href="Coq.Floats.FloatOps.html#shift"><span·class="id"·title="definition">shift</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(2<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>)%<span·class="id"·title="var">Z</span>.<br/> | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab408"></a><h1·class="section">Derived·operations·and·mapping·between·primitive·<span·class="inlinecode"><span·class="id"·title="var">float</span></span>s·and·<span·class="inlinecode"><span·class="id"·title="var">spec_float</span></span>s</h1> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="code"> | 55 | <div·class="code"> | 
| 56 | <br/> | 56 | <br/> | 
| 57 | <span·class="id"·title="keyword">Definition</span>·<a·id="prec"·class="idref"·href="#prec"><span·class="id"·title="definition">prec</span></a>·:=·53%<span·class="id"·title="var">Z</span>.<br/> | 57 | <span·class="id"·title="keyword">Definition</span>·<a·id="prec"·class="idref"·href="#prec"><span·class="id"·title="definition">prec</span></a>·:=·53%<span·class="id"·title="var">Z</span>.<br/> | 
| 58 | <span·class="id"·title="keyword">Definition</span>·<a·id="emax"·class="idref"·href="#emax"><span·class="id"·title="definition">emax</span></a>·:=·1024%<span·class="id"·title="var">Z</span>.<br/> | 58 | <span·class="id"·title="keyword">Definition</span>·<a·id="emax"·class="idref"·href="#emax"><span·class="id"·title="definition">emax</span></a>·:=·1024%<span·class="id"·title="var">Z</span>.<br/> | 
| Offset 48, 24 lines modified | Offset 48, 24 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.PrimInt63.html#"><span·class="id"·title="library">PrimInt63</span></a>·<a·class="idref"·href="Coq.Floats.FloatClass.html#"><span·class="id"·title="library">FloatClass</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.PrimInt63.html#"><span·class="id"·title="library">PrimInt63</span></a>·<a·class="idref"·href="Coq.Floats.FloatClass.html#"><span·class="id"·title="library">FloatClass</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab409"></a><h1·class="section">Definition·of·the·interface·for·primitive·floating-point·arithmetic</h1> | 
| 54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> | 
| 55 | This·interface·provides·processor·operators·for·the·Binary64·format·of·the | 55 | This·interface·provides·processor·operators·for·the·Binary64·format·of·the | 
| 56 | IEEE·754-2008·standard.· | 56 | IEEE·754-2008·standard.· | 
| 57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> | 
| 58 | <a·id="lab | 58 | <a·id="lab410"></a><h2·class="section">Type·definition·for·the·co-domain·of·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span></h2> | 
| 59 | </div> | 59 | </div> | 
| 60 | <div·class="code"> | 60 | <div·class="code"> | 
| 61 | <span·class="id"·title="keyword">Variant</span>·<a·id="float_comparison"·class="idref"·href="#float_comparison"><span·class="id"·title="inductive">float_comparison</span></a>·:·<span·class="id"·title="keyword">Set</span>·:=·<a·id="FEq"·class="idref"·href="#FEq"><span·class="id"·title="constructor">FEq</span></a>·|·<a·id="FLt"·class="idref"·href="#FLt"><span·class="id"·title="constructor">FLt</span></a>·|·<a·id="FGt"·class="idref"·href="#FGt"><span·class="id"·title="constructor">FGt</span></a>·|·<a·id="FNotComparable"·class="idref"·href="#FNotComparable"><span·class="id"·title="constructor">FNotComparable</span></a>.<br/> | 61 | <span·class="id"·title="keyword">Variant</span>·<a·id="float_comparison"·class="idref"·href="#float_comparison"><span·class="id"·title="inductive">float_comparison</span></a>·:·<span·class="id"·title="keyword">Set</span>·:=·<a·id="FEq"·class="idref"·href="#FEq"><span·class="id"·title="constructor">FEq</span></a>·|·<a·id="FLt"·class="idref"·href="#FLt"><span·class="id"·title="constructor">FLt</span></a>·|·<a·id="FGt"·class="idref"·href="#FGt"><span·class="id"·title="constructor">FGt</span></a>·|·<a·id="FNotComparable"·class="idref"·href="#FNotComparable"><span·class="id"·title="constructor">FNotComparable</span></a>.<br/> | 
| 62 | <br/> | 62 | <br/> | 
| 63 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float_comparison</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">kernel.ind_f_cmp</span>.<br/> | 63 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float_comparison</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">kernel.ind_f_cmp</span>.<br/> | 
| Offset 73, 15 lines modified | Offset 73, 15 lines modified | ||
| 73 | <br/> | 73 | <br/> | 
| 74 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float_class</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">kernel.ind_f_class</span>.<br/> | 74 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float_class</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">kernel.ind_f_class</span>.<br/> | 
| 75 | <br/> | 75 | <br/> | 
| 76 | </div> | 76 | </div> | 
| 77 | <div·class="doc"> | 77 | <div·class="doc"> | 
| 78 | <a·id="lab | 78 | <a·id="lab411"></a><h2·class="section">The·main·type</h2> | 
| 79 | ·<span·class="inlinecode"><span·class="id"·title="var">float</span></span>:·primitive·type·for·Binary64·floating-point·numbers.· | 79 | ·<span·class="inlinecode"><span·class="id"·title="var">float</span></span>:·primitive·type·for·Binary64·floating-point·numbers.· | 
| 80 | </div> | 80 | </div> | 
| 81 | <div·class="code"> | 81 | <div·class="code"> | 
| 82 | <span·class="id"·title="keyword">Primitive</span>·<a·id="float"·class="idref"·href="#float"><span·class="id"·title="axiom">float</span></a>·:=·#<span·class="id"·title="var">float64_type</span>.<br/> | 82 | <span·class="id"·title="keyword">Primitive</span>·<a·id="float"·class="idref"·href="#float"><span·class="id"·title="axiom">float</span></a>·:=·#<span·class="id"·title="var">float64_type</span>.<br/> | 
| 83 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.float.type</span>.<br/> | 83 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.float.type</span>.<br/> | 
| 84 | <br/> | 84 | <br/> | 
| Offset 91, 30 lines modified | Offset 91, 30 lines modified | ||
| 91 | <span·class="id"·title="keyword">Definition</span>·<a·id="printer"·class="idref"·href="#printer"><span·class="id"·title="definition">printer</span></a>·(<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Floats.PrimFloat.html#float_wrapper"><span·class="id"·title="record">float_wrapper</span></a>)·:·<span·class="id"·title="var">float</span>·:=·<a·class="idref"·href="Coq.Floats.PrimFloat.html#float_wrap"><span·class="id"·title="projection">float_wrap</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> | 91 | <span·class="id"·title="keyword">Definition</span>·<a·id="printer"·class="idref"·href="#printer"><span·class="id"·title="definition">printer</span></a>·(<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Floats.PrimFloat.html#float_wrapper"><span·class="id"·title="record">float_wrapper</span></a>)·:·<span·class="id"·title="var">float</span>·:=·<a·class="idref"·href="Coq.Floats.PrimFloat.html#float_wrap"><span·class="id"·title="projection">float_wrap</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 92 | <span·class="id"·title="keyword">Definition</span>·<a·id="parser"·class="idref"·href="#parser"><span·class="id"·title="definition">parser</span></a>·(<a·id="x:6"·class="idref"·href="#x:6"><span·class="id"·title="binder">x</span></a>·:·<span·class="id"·title="var">float</span>)·:·<span·class="id"·title="var">float</span>·:=·<a·class="idref"·href="Coq.Floats.PrimFloat.html#x:6"><span·class="id"·title="variable">x</span></a>.<br/> | 92 | <span·class="id"·title="keyword">Definition</span>·<a·id="parser"·class="idref"·href="#parser"><span·class="id"·title="definition">parser</span></a>·(<a·id="x:6"·class="idref"·href="#x:6"><span·class="id"·title="binder">x</span></a>·:·<span·class="id"·title="var">float</span>)·:·<span·class="id"·title="var">float</span>·:=·<a·class="idref"·href="Coq.Floats.PrimFloat.html#x:6"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 93 | <br/> | 93 | <br/> | 
| 94 | </div> | 94 | </div> | 
| 95 | <div·class="doc"> | 95 | <div·class="doc"> | 
| 96 | <a·id="lab | 96 | <a·id="lab412"></a><h2·class="section">Syntax·support</h2> | 
| 97 | </div> | 97 | </div> | 
| 98 | <div·class="code"> | 98 | <div·class="code"> | 
| 99 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="PrimFloatNotationsInternalA"·class="idref"·href="#PrimFloatNotationsInternalA"><span·class="id"·title="module">PrimFloatNotationsInternalA</span></a>.<br/> | 99 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="PrimFloatNotationsInternalA"·class="idref"·href="#PrimFloatNotationsInternalA"><span·class="id"·title="module">PrimFloatNotationsInternalA</span></a>.<br/> | 
| 100 | <span·class="id"·title="keyword">Declare·Scope</span>·<span·class="id"·title="var">float_scope</span>.<br/> | 100 | <span·class="id"·title="keyword">Declare·Scope</span>·<span·class="id"·title="var">float_scope</span>.<br/> | 
| 101 | <span·class="id"·title="keyword">Delimit</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">float_scope</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">float</span>.<br/> | 101 | <span·class="id"·title="keyword">Delimit</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">float_scope</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">float</span>.<br/> | 
| 102 | <span·class="id"·title="keyword">Bind·Scope</span>·<span·class="id"·title="var">float_scope</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">float</span>.<br/> | 102 | <span·class="id"·title="keyword">Bind·Scope</span>·<span·class="id"·title="var">float_scope</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">float</span>.<br/> | 
| 103 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#PrimFloatNotationsInternalA"><span·class="id"·title="module">PrimFloatNotationsInternalA</span></a>.<br/> | 103 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#PrimFloatNotationsInternalA"><span·class="id"·title="module">PrimFloatNotationsInternalA</span></a>.<br/> | 
| 104 | <span·class="id"·title="keyword">Number·Notation</span>·<span·class="id"·title="var">float</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#parser"><span·class="id"·title="definition">parser</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#printer"><span·class="id"·title="definition">printer</span></a>·:·<span·class="id"·title="var">float_scope</span>.<br/> | 104 | <span·class="id"·title="keyword">Number·Notation</span>·<span·class="id"·title="var">float</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#parser"><span·class="id"·title="definition">parser</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#printer"><span·class="id"·title="definition">printer</span></a>·:·<span·class="id"·title="var">float_scope</span>.<br/> | 
| 105 | <br/> | 105 | <br/> | 
| 106 | </div> | 106 | </div> | 
| 107 | <div·class="doc"> | 107 | <div·class="doc"> | 
| 108 | <a·id="lab | 108 | <a·id="lab413"></a><h2·class="section">Floating-point·operators</h2> | 
| 109 | </div> | 109 | </div> | 
| 110 | <div·class="code"> | 110 | <div·class="code"> | 
| 111 | <span·class="id"·title="keyword">Primitive</span>·<a·id="classify"·class="idref"·href="#classify"><span·class="id"·title="axiom">classify</span></a>·:=·#<span·class="id"·title="var">float64_classify</span>.<br/> | 111 | <span·class="id"·title="keyword">Primitive</span>·<a·id="classify"·class="idref"·href="#classify"><span·class="id"·title="axiom">classify</span></a>·:=·#<span·class="id"·title="var">float64_classify</span>.<br/> | 
| 112 | <br/> | 112 | <br/> | 
| 113 | <span·class="id"·title="keyword">Primitive</span>·<a·id="abs"·class="idref"·href="#abs"><span·class="id"·title="axiom">abs</span></a>·:=·#<span·class="id"·title="var">float64_abs</span>.<br/> | 113 | <span·class="id"·title="keyword">Primitive</span>·<a·id="abs"·class="idref"·href="#abs"><span·class="id"·title="axiom">abs</span></a>·:=·#<span·class="id"·title="var">float64_abs</span>.<br/> | 
| Offset 181, 15 lines modified | Offset 181, 15 lines modified | ||
| 181 | <span·class="id"·title="keyword">Notation</span>·<a·id="6e32edb097de448d43e1d8a509d61efe"·class="idref"·href="#6e32edb097de448d43e1d8a509d61efe"><span·class="id"·title="notation">"</span></a>x·/·y"·:=·(<span·class="id"·title="var">div</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·:·<span·class="id"·title="var">float_scope</span>.<br/> | 181 | <span·class="id"·title="keyword">Notation</span>·<a·id="6e32edb097de448d43e1d8a509d61efe"·class="idref"·href="#6e32edb097de448d43e1d8a509d61efe"><span·class="id"·title="notation">"</span></a>x·/·y"·:=·(<span·class="id"·title="var">div</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·:·<span·class="id"·title="var">float_scope</span>.<br/> | 
| 182 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#PrimFloatNotationsInternalB"><span·class="id"·title="module">PrimFloatNotationsInternalB</span></a>.<br/> | 182 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#PrimFloatNotationsInternalB"><span·class="id"·title="module">PrimFloatNotationsInternalB</span></a>.<br/> | 
| 183 | <br/> | 183 | <br/> | 
| 184 | </div> | 184 | </div> | 
| 185 | <div·class="doc"> | 185 | <div·class="doc"> | 
| 186 | <a·id="lab | 186 | <a·id="lab414"></a><h2·class="section">Conversions</h2> | 
| 187 | <div·class="paragraph">·</div> | 187 | <div·class="paragraph">·</div> | 
| 188 | ·<span·class="inlinecode"><span·class="id"·title="var">of_uint63</span></span>:·convert·a·primitive·unsigned·integer·into·a·float·value. | 188 | ·<span·class="inlinecode"><span·class="id"·title="var">of_uint63</span></span>:·convert·a·primitive·unsigned·integer·into·a·float·value. | 
| 189 | ····The·value·is·rounded·if·need·be.· | 189 | ····The·value·is·rounded·if·need·be.· | 
| 190 | </div> | 190 | </div> | 
| 191 | <div·class="code"> | 191 | <div·class="code"> | 
| Offset 220, 15 lines modified | Offset 220, 15 lines modified | ||
| 220 | <div·class="code"> | 220 | <div·class="code"> | 
| 221 | <span·class="id"·title="keyword">Primitive</span>·<a·id="normfr_mantissa"·class="idref"·href="#normfr_mantissa"><span·class="id"·title="axiom">normfr_mantissa</span></a>·:=·#<span·class="id"·title="var">float64_normfr_mantissa</span>.<br/> | 221 | <span·class="id"·title="keyword">Primitive</span>·<a·id="normfr_mantissa"·class="idref"·href="#normfr_mantissa"><span·class="id"·title="axiom">normfr_mantissa</span></a>·:=·#<span·class="id"·title="var">float64_normfr_mantissa</span>.<br/> | 
| 222 | <br/> | 222 | <br/> | 
| 223 | </div> | 223 | </div> | 
| 224 | <div·class="doc"> | 224 | <div·class="doc"> | 
| 225 | <a·id="lab | 225 | <a·id="lab415"></a><h2·class="section">Exponent·manipulation·functions</h2> | 
| 226 | ·<span·class="inlinecode"><span·class="id"·title="var">frshiftexp</span></span>:·convert·a·float·to·fractional·part·in·[0.5,·1.) | 226 | ·<span·class="inlinecode"><span·class="id"·title="var">frshiftexp</span></span>:·convert·a·float·to·fractional·part·in·[0.5,·1.) | 
| 227 | and·integer·part.· | 227 | and·integer·part.· | 
| 228 | </div> | 228 | </div> | 
| 229 | <div·class="code"> | 229 | <div·class="code"> | 
| 230 | <span·class="id"·title="keyword">Primitive</span>·<a·id="frshiftexp"·class="idref"·href="#frshiftexp"><span·class="id"·title="axiom">frshiftexp</span></a>·:=·#<span·class="id"·title="var">float64_frshiftexp</span>.<br/> | 230 | <span·class="id"·title="keyword">Primitive</span>·<a·id="frshiftexp"·class="idref"·href="#frshiftexp"><span·class="id"·title="axiom">frshiftexp</span></a>·:=·#<span·class="id"·title="var">float64_frshiftexp</span>.<br/> | 
| 231 | <br/> | 231 | <br/> | 
| Offset 240, 15 lines modified | Offset 240, 15 lines modified | ||
| 240 | <div·class="code"> | 240 | <div·class="code"> | 
| 241 | <span·class="id"·title="keyword">Primitive</span>·<a·id="ldshiftexp"·class="idref"·href="#ldshiftexp"><span·class="id"·title="axiom">ldshiftexp</span></a>·:=·#<span·class="id"·title="var">float64_ldshiftexp</span>.<br/> | 241 | <span·class="id"·title="keyword">Primitive</span>·<a·id="ldshiftexp"·class="idref"·href="#ldshiftexp"><span·class="id"·title="axiom">ldshiftexp</span></a>·:=·#<span·class="id"·title="var">float64_ldshiftexp</span>.<br/> | 
| 242 | <br/> | 242 | <br/> | 
| 243 | </div> | 243 | </div> | 
| 244 | <div·class="doc"> | 244 | <div·class="doc"> | 
| 245 | <a·id="lab | 245 | <a·id="lab416"></a><h2·class="section">Predecesor/Successor·functions</h2> | 
| 246 | <div·class="paragraph">·</div> | 246 | <div·class="paragraph">·</div> | 
| 247 | ·<span·class="inlinecode"><span·class="id"·title="var">next_up</span></span>:·return·the·next·float·towards·positive·infinity.· | 247 | ·<span·class="inlinecode"><span·class="id"·title="var">next_up</span></span>:·return·the·next·float·towards·positive·infinity.· | 
| 248 | </div> | 248 | </div> | 
| 249 | <div·class="code"> | 249 | <div·class="code"> | 
| 250 | <span·class="id"·title="keyword">Primitive</span>·<a·id="next_up"·class="idref"·href="#next_up"><span·class="id"·title="axiom">next_up</span></a>·:=·#<span·class="id"·title="var">float64_next_up</span>.<br/> | 250 | <span·class="id"·title="keyword">Primitive</span>·<a·id="next_up"·class="idref"·href="#next_up"><span·class="id"·title="axiom">next_up</span></a>·:=·#<span·class="id"·title="var">float64_next_up</span>.<br/> | 
| Offset 262, 15 lines modified | Offset 262, 15 lines modified | ||
| 262 | <div·class="code"> | 262 | <div·class="code"> | 
| 263 | <span·class="id"·title="keyword">Primitive</span>·<a·id="next_down"·class="idref"·href="#next_down"><span·class="id"·title="axiom">next_down</span></a>·:=·#<span·class="id"·title="var">float64_next_down</span>.<br/> | 263 | <span·class="id"·title="keyword">Primitive</span>·<a·id="next_down"·class="idref"·href="#next_down"><span·class="id"·title="axiom">next_down</span></a>·:=·#<span·class="id"·title="var">float64_next_down</span>.<br/> | 
| 264 | <br/> | 264 | <br/> | 
| 265 | </div> | 265 | </div> | 
| 266 | <div·class="doc"> | 266 | <div·class="doc"> | 
| Max diff block lines reached; 5155/14566 bytes (35.39%) of diff not shown. | |||
| Offset 48, 24 lines modified | Offset 48, 24 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Floats.FloatClass.html#"><span·class="id"·title="library">FloatClass</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Floats.FloatClass.html#"><span·class="id"·title="library">FloatClass</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab420"></a><h1·class="section">Specification·of·floating-point·arithmetic</h1> | 
| 54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> | 
| 55 | This·specification·is·mostly·borrowed·from·the·<span·class="inlinecode"><span·class="id"·title="var">IEEE754.Binary</span></span>·module | 55 | This·specification·is·mostly·borrowed·from·the·<span·class="inlinecode"><span·class="id"·title="var">IEEE754.Binary</span></span>·module | 
| 56 | of·the·Flocq·library·(see·<a·href="http://flocq.gforge.inria.fr/">http://flocq.gforge.inria.fr/</a>)· | 56 | of·the·Flocq·library·(see·<a·href="http://flocq.gforge.inria.fr/">http://flocq.gforge.inria.fr/</a>)· | 
| 57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> | 
| 58 | <a·id="lab | 58 | <a·id="lab421"></a><h2·class="section">Inductive·specification·of·floating-point·numbers</h2> | 
| 59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> | 
| 60 | Similar·to·<span·class="inlinecode"><span·class="id"·title="var">Flocq.IEEE754.Binary.full_float</span></span>,·but·with·no·NaN·payload.· | 60 | Similar·to·<span·class="inlinecode"><span·class="id"·title="var">Flocq.IEEE754.Binary.full_float</span></span>,·but·with·no·NaN·payload.· | 
| 61 | </div> | 61 | </div> | 
| 62 | <div·class="code"> | 62 | <div·class="code"> | 
| Offset 75, 15 lines modified | Offset 75, 15 lines modified | ||
| 75 |   |·<a·id="S754_nan"·class="idref"·href="#S754_nan"><span·class="id"·title="constructor">S754_nan</span></a><br/> | 75 |   |·<a·id="S754_nan"·class="idref"·href="#S754_nan"><span·class="id"·title="constructor">S754_nan</span></a><br/> | 
| 76 |   |·<a·id="S754_finite"·class="idref"·href="#S754_finite"><span·class="id"·title="constructor">S754_finite</span></a>·(<a·id="s:5"·class="idref"·href="#s:5"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·(<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·(<a·id="e:7"·class="idref"·href="#e:7"><span·class="id"·title="binder">e</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>).<br/> | 76 |   |·<a·id="S754_finite"·class="idref"·href="#S754_finite"><span·class="id"·title="constructor">S754_finite</span></a>·(<a·id="s:5"·class="idref"·href="#s:5"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·(<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·(<a·id="e:7"·class="idref"·href="#e:7"><span·class="id"·title="binder">e</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>).<br/> | 
| 77 | <br/> | 77 | <br/> | 
| 78 | </div> | 78 | </div> | 
| 79 | <div·class="doc"> | 79 | <div·class="doc"> | 
| 80 | <a·id="lab | 80 | <a·id="lab422"></a><h2·class="section">Parameterized·definitions</h2> | 
| 81 | <div·class="paragraph">·</div> | 81 | <div·class="paragraph">·</div> | 
| 82 | <span·class="inlinecode"><span·class="id"·title="var">prec</span></span>·is·the·number·of·bits·of·the·mantissa·including·the·implicit·one; | 82 | <span·class="inlinecode"><span·class="id"·title="var">prec</span></span>·is·the·number·of·bits·of·the·mantissa·including·the·implicit·one; | 
| 83 | <span·class="inlinecode"><span·class="id"·title="var">emax</span></span>·is·the·exponent·of·the·infinities. | 83 | <span·class="inlinecode"><span·class="id"·title="var">emax</span></span>·is·the·exponent·of·the·infinities. | 
| Offset 238, 15 lines modified | Offset 238, 15 lines modified | ||
| 238 |       <span·class="id"·title="keyword">end</span>.<br/> | 238 |       <span·class="id"·title="keyword">end</span>.<br/> | 
| 239 |   <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#FloatOps.Rounding"><span·class="id"·title="section">Rounding</span></a>.<br/> | 239 |   <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#FloatOps.Rounding"><span·class="id"·title="section">Rounding</span></a>.<br/> | 
| 240 | <br/> | 240 | <br/> | 
| 241 | </div> | 241 | </div> | 
| 242 | <div·class="doc"> | 242 | <div·class="doc"> | 
| 243 | <a·id="lab | 243 | <a·id="lab423"></a><h2·class="section">Define·operations</h2> | 
| 244 | </div> | 244 | </div> | 
| 245 | <div·class="code"> | 245 | <div·class="code"> | 
| 246 | <br/> | 246 | <br/> | 
| 247 |   <span·class="id"·title="keyword">Definition</span>·<a·id="SFopp"·class="idref"·href="#SFopp"><span·class="id"·title="definition">SFopp</span></a>·<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·:=<br/> | 247 |   <span·class="id"·title="keyword">Definition</span>·<a·id="SFopp"·class="idref"·href="#SFopp"><span·class="id"·title="definition">SFopp</span></a>·<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·:=<br/> | 
| 248 |     <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#x:70"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 248 |     <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#x:70"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab266"></a><h1·class="section">Bytes</h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Coq.Init.Ltac</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Coq.Init.Ltac</span></a>.<br/> | 
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#"><span·class="id"·title="library">Coq.Init.Datatypes</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#"><span·class="id"·title="library">Coq.Init.Datatypes</span></a>.<br/> | 
| Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Ltac</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Ltac</span></a>.<br/> | 
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#"><span·class="id"·title="library">Logic</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#"><span·class="id"·title="library">Logic</span></a>.<br/> | 
| 55 | <br/> | 55 | <br/> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="doc"> | 57 | <div·class="doc"> | 
| 58 | <a·id="lab | 58 | <a·id="lab246"></a><h1·class="section">Datatypes·with·zero·and·one·element</h1> | 
| 59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> | 
| 60 | ·<span·class="inlinecode"><span·class="id"·title="var">Empty_set</span></span>·is·a·datatype·with·no·inhabitant· | 60 | ·<span·class="inlinecode"><span·class="id"·title="var">Empty_set</span></span>·is·a·datatype·with·no·inhabitant· | 
| 61 | </div> | 61 | </div> | 
| 62 | <div·class="code"> | 62 | <div·class="code"> | 
| Offset 87, 15 lines modified | Offset 87, 15 lines modified | ||
| 87 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">unit</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.unit.type</span>.<br/> | 87 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">unit</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.unit.type</span>.<br/> | 
| 88 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">tt</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.unit.tt</span>.<br/> | 88 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">tt</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.unit.tt</span>.<br/> | 
| 89 | <br/> | 89 | <br/> | 
| 90 | </div> | 90 | </div> | 
| 91 | <div·class="doc"> | 91 | <div·class="doc"> | 
| 92 | <a·id="lab | 92 | <a·id="lab247"></a><h1·class="section">The·boolean·datatype</h1> | 
| 93 | <div·class="paragraph">·</div> | 93 | <div·class="paragraph">·</div> | 
| 94 | ·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·is·the·datatype·of·the·boolean·values·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">false</span></span>· | 94 | ·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·is·the·datatype·of·the·boolean·values·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">false</span></span>· | 
| 95 | </div> | 95 | </div> | 
| 96 | <div·class="code"> | 96 | <div·class="code"> | 
| Offset 258, 15 lines modified | Offset 258, 15 lines modified | ||
| 258 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">BoolSpecT</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.BoolSpec.BoolSpecT</span>.<br/> | 258 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">BoolSpecT</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.BoolSpec.BoolSpecT</span>.<br/> | 
| 259 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">BoolSpecF</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.BoolSpec.BoolSpecF</span>.<br/> | 259 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">BoolSpecF</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.BoolSpec.BoolSpecF</span>.<br/> | 
| 260 | <br/> | 260 | <br/> | 
| 261 | </div> | 261 | </div> | 
| 262 | <div·class="doc"> | 262 | <div·class="doc"> | 
| 263 | <a·id="lab | 263 | <a·id="lab248"></a><h1·class="section">Peano·natural·numbers</h1> | 
| 264 | <div·class="paragraph">·</div> | 264 | <div·class="paragraph">·</div> | 
| 265 | ·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·is·the·datatype·of·natural·numbers·built·from·<span·class="inlinecode"><span·class="id"·title="var">O</span></span>·and·successor·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>; | 265 | ·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·is·the·datatype·of·natural·numbers·built·from·<span·class="inlinecode"><span·class="id"·title="var">O</span></span>·and·successor·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>; | 
| 266 | ····note·that·the·constructor·name·is·the·letter·O. | 266 | ····note·that·the·constructor·name·is·the·letter·O. | 
| 267 | ····Numbers·in·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·can·be·denoted·using·a·decimal·notation; | 267 | ····Numbers·in·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·can·be·denoted·using·a·decimal·notation; | 
| 268 | ····e.g.·<span·class="inlinecode">3%<span·class="id"·title="var">nat</span></span>·abbreviates·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">(<span·class="id"·title="var">S</span></span>·<span·class="inlinecode">(<span·class="id"·title="var">S</span></span>·<span·class="inlinecode"><span·class="id"·title="var">O</span>))</span>· | 268 | ····e.g.·<span·class="inlinecode">3%<span·class="id"·title="var">nat</span></span>·abbreviates·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">(<span·class="id"·title="var">S</span></span>·<span·class="inlinecode">(<span·class="id"·title="var">S</span></span>·<span·class="inlinecode"><span·class="id"·title="var">O</span>))</span>· | 
| Offset 293, 15 lines modified | Offset 293, 15 lines modified | ||
| 293 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">O</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.O</span>.<br/> | 293 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">O</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.O</span>.<br/> | 
| 294 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">S</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.S</span>.<br/> | 294 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">S</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.S</span>.<br/> | 
| 295 | <br/> | 295 | <br/> | 
| 296 | </div> | 296 | </div> | 
| 297 | <div·class="doc"> | 297 | <div·class="doc"> | 
| 298 | <a·id="lab | 298 | <a·id="lab249"></a><h1·class="section">Container·datatypes</h1> | 
| 299 | </div> | 299 | </div> | 
| 300 | <div·class="code"> | 300 | <div·class="code"> | 
| 301 | <br/> | 301 | <br/> | 
| 302 | <br/> | 302 | <br/> | 
| Offset 498, 15 lines modified | Offset 498, 15 lines modified | ||
| 498 | <br/> | 498 | <br/> | 
| 499 | <br/> | 499 | <br/> | 
| 500 | </div> | 500 | </div> | 
| 501 | <div·class="doc"> | 501 | <div·class="doc"> | 
| 502 | <a·id="lab | 502 | <a·id="lab250"></a><h1·class="section">The·comparison·datatype</h1> | 
| 503 | </div> | 503 | </div> | 
| 504 | <div·class="code"> | 504 | <div·class="code"> | 
| 505 | <br/> | 505 | <br/> | 
| 506 | <span·class="id"·title="keyword">Inductive</span>·<a·id="comparison"·class="idref"·href="#comparison"><span·class="id"·title="definition,·inductive"><span·id="comparison_rect"·class="id"><span·id="comparison_ind"·class="id"><span·id="comparison_rec"·class="id"><span·id="comparison_sind"·class="id">comparison</span></span></span></span></span></a>·:·<span·class="id"·title="keyword">Set</span>·:=<br/> | 506 | <span·class="id"·title="keyword">Inductive</span>·<a·id="comparison"·class="idref"·href="#comparison"><span·class="id"·title="definition,·inductive"><span·id="comparison_rect"·class="id"><span·id="comparison_ind"·class="id"><span·id="comparison_rec"·class="id"><span·id="comparison_sind"·class="id">comparison</span></span></span></span></span></a>·:·<span·class="id"·title="keyword">Set</span>·:=<br/> | 
| 507 |   |·<a·id="Eq"·class="idref"·href="#Eq"><span·class="id"·title="constructor">Eq</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#comparison:103"><span·class="id"·title="inductive">comparison</span></a><br/> | 507 |   |·<a·id="Eq"·class="idref"·href="#Eq"><span·class="id"·title="constructor">Eq</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#comparison:103"><span·class="id"·title="inductive">comparison</span></a><br/> | 
| Offset 616, 15 lines modified | Offset 616, 15 lines modified | ||
| 616 | <span·class="id"·title="keyword">Lemma</span>·<a·id="CompSpec2Type"·class="idref"·href="#CompSpec2Type"><span·class="id"·title="lemma">CompSpec2Type</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="A:138"·class="idref"·href="#A:138"><span·class="id"·title="binder">A</span></a>·(<a·id="eq:139"·class="idref"·href="#eq:139"><span·class="id"·title="binder">eq</span></a>·<a·id="lt:140"·class="idref"·href="#lt:140"><span·class="id"·title="binder">lt</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#A:138"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Init.Datatypes.html#A:138"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><span·class="id"·title="keyword">Prop</span>)·<a·id="x:141"·class="idref"·href="#x:141"><span·class="id"·title="binder">x</span></a>·<a·id="y:142"·class="idref"·href="#y:142"><span·class="id"·title="binder">y</span></a>·<a·id="c:143"·class="idref"·href="#c:143"><span·class="id"·title="binder">c</span></a>,<br/> | 616 | <span·class="id"·title="keyword">Lemma</span>·<a·id="CompSpec2Type"·class="idref"·href="#CompSpec2Type"><span·class="id"·title="lemma">CompSpec2Type</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="A:138"·class="idref"·href="#A:138"><span·class="id"·title="binder">A</span></a>·(<a·id="eq:139"·class="idref"·href="#eq:139"><span·class="id"·title="binder">eq</span></a>·<a·id="lt:140"·class="idref"·href="#lt:140"><span·class="id"·title="binder">lt</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#A:138"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Init.Datatypes.html#A:138"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><span·class="id"·title="keyword">Prop</span>)·<a·id="x:141"·class="idref"·href="#x:141"><span·class="id"·title="binder">x</span></a>·<a·id="y:142"·class="idref"·href="#y:142"><span·class="id"·title="binder">y</span></a>·<a·id="c:143"·class="idref"·href="#c:143"><span·class="id"·title="binder">c</span></a>,<br/> | 
| 617 |  <a·class="idref"·href="Coq.Init.Datatypes.html#CompSpec"><span·class="id"·title="definition">CompSpec</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#eq:139"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#lt:140"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#x:141"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#y:142"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#c:143"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#CompSpecT"><span·class="id"·title="definition">CompSpecT</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#eq:139"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#lt:140"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#x:141"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#y:142"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#c:143"><span·class="id"·title="variable">c</span></a>.<br/> | 617 |  <a·class="idref"·href="Coq.Init.Datatypes.html#CompSpec"><span·class="id"·title="definition">CompSpec</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#eq:139"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#lt:140"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#x:141"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#y:142"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#c:143"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#CompSpecT"><span·class="id"·title="definition">CompSpecT</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#eq:139"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#lt:140"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#x:141"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#y:142"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#c:143"><span·class="id"·title="variable">c</span></a>.<br/> | 
| 618 | · | 618 | · | 
| 619 | <br/> | 619 | <br/> | 
| 620 | </div> | 620 | </div> | 
| 621 | <div·class="doc"> | 621 | <div·class="doc"> | 
| 622 | <a·id="lab | 622 | <a·id="lab251"></a><h1·class="section">Misc·Other·Datatypes</h1> | 
| 623 | <div·class="paragraph">·</div> | 623 | <div·class="paragraph">·</div> | 
| 624 | ·<span·class="inlinecode"><span·class="id"·title="var">identity</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·is·the·family·of·datatypes·on·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·whose·sole·non-empty | 624 | ·<span·class="inlinecode"><span·class="id"·title="var">identity</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·is·the·family·of·datatypes·on·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·whose·sole·non-empty | 
| 625 | ····member·is·the·singleton·datatype·<span·class="inlinecode"><span·class="id"·title="var">identity</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·whose | 625 | ····member·is·the·singleton·datatype·<span·class="inlinecode"><span·class="id"·title="var">identity</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·whose | 
| 626 | ····sole·inhabitant·is·denoted·<span·class="inlinecode"><span·class="id"·title="var">identity_refl</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>· | 626 | ····sole·inhabitant·is·denoted·<span·class="inlinecode"><span·class="id"·title="var">identity_refl</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>· | 
| 627 | </div> | 627 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab271"></a><h1·class="section">Decimal·numbers</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·These·numbers·coded·in·base·10·will·be·used·for·parsing·and·printing | 51 | ·These·numbers·coded·in·base·10·will·be·used·for·parsing·and·printing | 
| 52 | ····other·Coq·numeral·datatypes·in·an·human-readable·way. | 52 | ····other·Coq·numeral·datatypes·in·an·human-readable·way. | 
| 53 | ····See·the·<span·class="inlinecode"><span·class="id"·title="var">Number</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Notation</span></span>·command. | 53 | ····See·the·<span·class="inlinecode"><span·class="id"·title="var">Number</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Notation</span></span>·command. | 
| 54 | ····We·represent·numbers·in·base·10·as·lists·of·decimal·digits, | 54 | ····We·represent·numbers·in·base·10·as·lists·of·decimal·digits, | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab270"></a><h1·class="section">Hexadecimal·numbers</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·These·numbers·coded·in·base·16·will·be·used·for·parsing·and·printing | 51 | ·These·numbers·coded·in·base·16·will·be·used·for·parsing·and·printing | 
| 52 | ····other·Coq·numeral·datatypes·in·an·human-readable·way. | 52 | ····other·Coq·numeral·datatypes·in·an·human-readable·way. | 
| 53 | ····See·the·<span·class="inlinecode"><span·class="id"·title="var">Number</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Notation</span></span>·command. | 53 | ····See·the·<span·class="inlinecode"><span·class="id"·title="var">Number</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Notation</span></span>·command. | 
| 54 | ····We·represent·numbers·in·base·16·as·lists·of·hexadecimal·digits, | 54 | ····We·represent·numbers·in·base·16·as·lists·of·hexadecimal·digits, | 
| Offset 158, 16 lines modified | Offset 158, 16 lines modified | ||
| 000009d0:·733d·2269·6422·2074·6974·6c65·3d22·7661··s="id"·title="va | 000009d0:·733d·2269·6422·2074·6974·6c65·3d22·7661··s="id"·title="va | ||
| 000009e0:·7222·3e42·3c2f·7370·616e·3e29·203a·203c··r">B</span>)·:·< | 000009e0:·7222·3e42·3c2f·7370·616e·3e29·203a·203c··r">B</span>)·:·< | ||
| 000009f0:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | 000009f0:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
| 00000a00:·7469·746c·653d·2276·6172·223e·7479·7065··title="var">type | 00000a00:·7469·746c·653d·2276·6172·223e·7479·7065··title="var">type | ||
| 00000a10:·5f73·636f·7065·3c2f·7370·616e·3e2e·3c62··_scope</span>.<b | 00000a10:·5f73·636f·7065·3c2f·7370·616e·3e2e·3c62··_scope</span>.<b | ||
| 00000a20:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | 00000a20:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | ||
| 00000a30:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | 00000a30:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | ||
| 00000a40:·6f63·223e·0a3c·6120·6964·3d22·6c61·623 | 00000a40:·6f63·223e·0a3c·6120·6964·3d22·6c61·6232··oc">.<a·id="lab2 | ||
| 00000a50:·3 | 00000a50:·3734·223e·3c2f·613e·3c68·3120·636c·6173··74"></a><h1·clas | ||
| 00000a60:·733d·2273·6563·7469·6f6e·223e·5072·6f70··s="section">Prop | 00000a60:·733d·2273·6563·7469·6f6e·223e·5072·6f70··s="section">Prop | ||
| 00000a70:·6f73·6974·696f·6e61·6c20·636f·6e6e·6563··ositional·connec | 00000a70:·6f73·6974·696f·6e61·6c20·636f·6e6e·6563··ositional·connec | ||
| 00000a80:·7469·7665·733c·2f68·313e·0a0a·3c64·6976··tives</h1>..<div | 00000a80:·7469·7665·733c·2f68·313e·0a0a·3c64·6976··tives</h1>..<div | ||
| 00000a90:·2063·6c61·7373·3d22·7061·7261·6772·6170···class="paragrap | 00000a90:·2063·6c61·7373·3d22·7061·7261·6772·6170···class="paragrap | ||
| 00000aa0:·6822·3e20·3c2f·6469·763e·0a0a·203c·7370··h">·</div>..·<sp | 00000aa0:·6822·3e20·3c2f·6469·763e·0a0a·203c·7370··h">·</div>..·<sp | ||
| 00000ab0:·616e·2063·6c61·7373·3d22·696e·6c69·6e65··an·class="inline | 00000ab0:·616e·2063·6c61·7373·3d22·696e·6c69·6e65··an·class="inline | ||
| 00000ac0:·636f·6465·223e·3c73·7061·6e20·636c·6173··code"><span·clas | 00000ac0:·636f·6465·223e·3c73·7061·6e20·636c·6173··code"><span·clas | ||
| Offset 4442, 15 lines modified | Offset 4442, 15 lines modified | ||
| 00011590:·3436·3735·6130·6163·6633·6561·3932·6161··4675a0acf3ea92aa | 00011590:·3436·3735·6130·6163·6633·6561·3932·6161··4675a0acf3ea92aa | ||
| 000115a0:·6261·6464·223e·3c73·7061·6e20·636c·6173··badd"><span·clas | 000115a0:·6261·6464·223e·3c73·7061·6e20·636c·6173··badd"><span·clas | ||
| 000115b0:·733d·2269·6422·2074·6974·6c65·3d22·6e6f··s="id"·title="no | 000115b0:·733d·2269·6422·2074·6974·6c65·3d22·6e6f··s="id"·title="no | ||
| 000115c0:·7461·7469·6f6e·223e·293c·2f73·7061·6e3e··tation">)</span> | 000115c0:·7461·7469·6f6e·223e·293c·2f73·7061·6e3e··tation">)</span> | ||
| 000115d0:·3c2f·613e·2e3c·6272·2f3e·0a0a·3c62·722f··</a>.<br/>..<br/ | 000115d0:·3c2f·613e·2e3c·6272·2f3e·0a0a·3c62·722f··</a>.<br/>..<br/ | ||
| 000115e0:·3e0a·3c2f·6469·763e·0a0a·3c64·6976·2063··>.</div>..<div·c | 000115e0:·3e0a·3c2f·6469·763e·0a0a·3c64·6976·2063··>.</div>..<div·c | ||
| 000115f0:·6c61·7373·3d22·646f·6322·3e0a·3c61·2069··lass="doc">.<a·i | 000115f0:·6c61·7373·3d22·646f·6322·3e0a·3c61·2069··lass="doc">.<a·i | ||
| 00011600:·643d·226c·6162·3 | 00011600:·643d·226c·6162·3237·3522·3e3c·2f61·3e3c··d="lab275"></a>< | ||
| 00011610:·6831·2063·6c61·7373·3d22·7365·6374·696f··h1·class="sectio | 00011610:·6831·2063·6c61·7373·3d22·7365·6374·696f··h1·class="sectio | ||
| 00011620:·6e22·3e46·6972·7374·2d6f·7264·6572·2071··n">First-order·q | 00011620:·6e22·3e46·6972·7374·2d6f·7264·6572·2071··n">First-order·q | ||
| 00011630:·7561·6e74·6966·6965·7273·3c2f·6831·3e0a··uantifiers</h1>. | 00011630:·7561·6e74·6966·6965·7273·3c2f·6831·3e0a··uantifiers</h1>. | ||
| 00011640:·0a3c·6469·7620·636c·6173·733d·2270·6172··.<div·class="par | 00011640:·0a3c·6469·7620·636c·6173·733d·2270·6172··.<div·class="par | ||
| 00011650:·6167·7261·7068·223e·203c·2f64·6976·3e0a··agraph">·</div>. | 00011650:·6167·7261·7068·223e·203c·2f64·6976·3e0a··agraph">·</div>. | ||
| 00011660:·0a20·3c73·7061·6e20·636c·6173·733d·2269··.·<span·class="i | 00011660:·0a20·3c73·7061·6e20·636c·6173·733d·2269··.·<span·class="i | ||
| 00011670:·6e6c·696e·6563·6f64·6522·3e3c·7370·616e··nlinecode"><span | 00011670:·6e6c·696e·6563·6f64·6522·3e3c·7370·616e··nlinecode"><span | ||
| Offset 6440, 15 lines modified | Offset 6440, 15 lines modified | ||
| 00019270:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | 00019270:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | ||
| 00019280:·653d·2273·6563·7469·6f6e·223e·756e·6976··e="section">univ | 00019280:·653d·2273·6563·7469·6f6e·223e·756e·6976··e="section">univ | ||
| 00019290:·6572·7361·6c5f·7175·616e·7469·6669·6361··ersal_quantifica | 00019290:·6572·7361·6c5f·7175·616e·7469·6669·6361··ersal_quantifica | ||
| 000192a0:·7469·6f6e·3c2f·7370·616e·3e3c·2f61·3e2e··tion</span></a>. | 000192a0:·7469·6f6e·3c2f·7370·616e·3e3c·2f61·3e2e··tion</span></a>. | ||
| 000192b0:·3c62·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64··<br/>..<br/>.</d | 000192b0:·3c62·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64··<br/>..<br/>.</d | ||
| 000192c0:·6976·3e0a·0a3c·6469·7620·636c·6173·733d··iv>..<div·class= | 000192c0:·6976·3e0a·0a3c·6469·7620·636c·6173·733d··iv>..<div·class= | ||
| 000192d0:·2264·6f63·223e·0a3c·6120·6964·3d22·6c61··"doc">.<a·id="la | 000192d0:·2264·6f63·223e·0a3c·6120·6964·3d22·6c61··"doc">.<a·id="la | ||
| 000192e0:·623 | 000192e0:·6232·3736·223e·3c2f·613e·3c68·3120·636c··b276"></a><h1·cl | ||
| 000192f0:·6173·733d·2273·6563·7469·6f6e·223e·4571··ass="section">Eq | 000192f0:·6173·733d·2273·6563·7469·6f6e·223e·4571··ass="section">Eq | ||
| 00019300:·7561·6c69·7479·3c2f·6831·3e0a·0a3c·6469··uality</h1>..<di | 00019300:·7561·6c69·7479·3c2f·6831·3e0a·0a3c·6469··uality</h1>..<di | ||
| 00019310:·7620·636c·6173·733d·2270·6172·6167·7261··v·class="paragra | 00019310:·7620·636c·6173·733d·2270·6172·6167·7261··v·class="paragra | ||
| 00019320:·7068·223e·203c·2f64·6976·3e0a·0a20·3c73··ph">·</div>..·<s | 00019320:·7068·223e·203c·2f64·6976·3e0a·0a20·3c73··ph">·</div>..·<s | ||
| 00019330:·7061·6e20·636c·6173·733d·2269·6e6c·696e··pan·class="inlin | 00019330:·7061·6e20·636c·6173·733d·2269·6e6c·696e··pan·class="inlin | ||
| 00019340:·6563·6f64·6522·3e3c·7370·616e·2063·6c61··ecode"><span·cla | 00019340:·6563·6f64·6522·3e3c·7370·616e·2063·6c61··ecode"><span·cla | ||
| 00019350:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | 00019350:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | ||
| Offset 16761, 15 lines modified | Offset 16761, 15 lines modified | ||
| 00041780:·3a74·7970·655f·7363·6f70·653a·785f·272d··:type_scope:x_'- | 00041780:·3a74·7970·655f·7363·6f70·653a·785f·272d··:type_scope:x_'- | ||
| 00041790:·2667·743b·275f·7822·3e3c·7370·616e·2063··>'_x"><span·c | 00041790:·2667·743b·275f·7822·3e3c·7370·616e·2063··>'_x"><span·c | ||
| 000417a0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | 000417a0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
| 000417b0:·226e·6f74·6174·696f·6e22·3e29·3c2f·7370··"notation">)</sp | 000417b0:·226e·6f74·6174·696f·6e22·3e29·3c2f·7370··"notation">)</sp | ||
| 000417c0:·616e·3e3c·2f61·3e2e·3c62·722f·3e0a·0a3c··an></a>.<br/>..< | 000417c0:·616e·3e3c·2f61·3e2e·3c62·722f·3e0a·0a3c··an></a>.<br/>..< | ||
| 000417d0:·6272·2f3e·0a3c·2f64·6976·3e0a·0a3c·6469··br/>.</div>..<di | 000417d0:·6272·2f3e·0a3c·2f64·6976·3e0a·0a3c·6469··br/>.</div>..<di | ||
| 000417e0:·7620·636c·6173·733d·2264·6f63·223e·0a3c··v·class="doc">.< | 000417e0:·7620·636c·6173·733d·2264·6f63·223e·0a3c··v·class="doc">.< | ||
| 000417f0:·6120·6964·3d22·6c61·623 | 000417f0:·6120·6964·3d22·6c61·6232·3737·223e·3c2f··a·id="lab277"></ | ||
| 00041800:·613e·3c68·3120·636c·6173·733d·2273·6563··a><h1·class="sec | 00041800:·613e·3c68·3120·636c·6173·733d·2273·6563··a><h1·class="sec | ||
| 00041810:·7469·6f6e·223e·4265·696e·6720·696e·6861··tion">Being·inha | 00041810:·7469·6f6e·223e·4265·696e·6720·696e·6861··tion">Being·inha | ||
| 00041820:·6269·7465·643c·2f68·313e·0a0a·3c64·6976··bited</h1>..<div | 00041820:·6269·7465·643c·2f68·313e·0a0a·3c64·6976··bited</h1>..<div | ||
| 00041830:·2063·6c61·7373·3d22·7061·7261·6772·6170···class="paragrap | 00041830:·2063·6c61·7373·3d22·7061·7261·6772·6170···class="paragrap | ||
| 00041840:·6822·3e20·3c2f·6469·763e·0a0a·2054·6865··h">·</div>..·The | 00041840:·6822·3e20·3c2f·6469·763e·0a0a·2054·6865··h">·</div>..·The | ||
| 00041850:·2070·7265·6469·6361·7465·203c·7370·616e···predicate·<span | 00041850:·2070·7265·6469·6361·7465·203c·7370·616e···predicate·<span | ||
| 00041860:·2063·6c61·7373·3d22·696e·6c69·6e65·636f···class="inlineco | 00041860:·2063·6c61·7373·3d22·696e·6c69·6e65·636f···class="inlineco | 
| Offset 50, 15 lines modified | Offset 50, 15 lines modified | ||
| 50 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Init.Number.html#"><span·class="id"·title="library">Number</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Init.Number.html#"><span·class="id"·title="library">Number</span></a>.<br/> | 
| 51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> | 51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="doc"> | 54 | <div·class="doc"> | 
| 55 | <a·id="lab | 55 | <a·id="lab252"></a><h1·class="section">Peano·natural·numbers,·definitions·of·operations</h1> | 
| 56 | <div·class="paragraph">·</div> | 56 | <div·class="paragraph">·</div> | 
| 57 | ·This·file·is·meant·to·be·used·as·a·whole·module, | 57 | ·This·file·is·meant·to·be·used·as·a·whole·module, | 
| 58 | ····without·importing·it,·leading·to·qualified·definitions | 58 | ····without·importing·it,·leading·to·qualified·definitions | 
| 59 | ····(e.g.·Nat.pred)· | 59 | ····(e.g.·Nat.pred)· | 
| 60 | </div> | 60 | </div> | 
| Offset 67, 15 lines modified | Offset 67, 15 lines modified | ||
| 67 | <br/> | 67 | <br/> | 
| 68 | <span·class="id"·title="keyword">Definition</span>·<a·id="t"·class="idref"·href="#t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>.<br/> | 68 | <span·class="id"·title="keyword">Definition</span>·<a·id="t"·class="idref"·href="#t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>.<br/> | 
| 69 | <br/> | 69 | <br/> | 
| 70 | </div> | 70 | </div> | 
| 71 | <div·class="doc"> | 71 | <div·class="doc"> | 
| 72 | <a·id="lab | 72 | <a·id="lab253"></a><h2·class="section">Constants</h2> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="code"> | 74 | <div·class="code"> | 
| 75 | <br/> | 75 | <br/> | 
| 76 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'0'"·class="idref"·href="#:::'0'"><span·class="id"·title="notation">"</span></a>0"·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>.<br/> | 76 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'0'"·class="idref"·href="#:::'0'"><span·class="id"·title="notation">"</span></a>0"·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>.<br/> | 
| 77 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'1'"·class="idref"·href="#:::'1'"><span·class="id"·title="notation">"</span></a>1"·:=·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>).<br/> | 77 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'1'"·class="idref"·href="#:::'1'"><span·class="id"·title="notation">"</span></a>1"·:=·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>).<br/> | 
| Offset 86, 15 lines modified | Offset 86, 15 lines modified | ||
| 86 | <span·class="id"·title="keyword">Definition</span>·<a·id="one"·class="idref"·href="#one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> | 86 | <span·class="id"·title="keyword">Definition</span>·<a·id="one"·class="idref"·href="#one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> | 
| 87 | <span·class="id"·title="keyword">Definition</span>·<a·id="two"·class="idref"·href="#two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> | 87 | <span·class="id"·title="keyword">Definition</span>·<a·id="two"·class="idref"·href="#two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> | 
| 88 | <br/> | 88 | <br/> | 
| 89 | </div> | 89 | </div> | 
| 90 | <div·class="doc"> | 90 | <div·class="doc"> | 
| 91 | <a·id="lab | 91 | <a·id="lab254"></a><h2·class="section">Basic·operations</h2> | 
| 92 | </div> | 92 | </div> | 
| 93 | <div·class="code"> | 93 | <div·class="code"> | 
| 94 | <br/> | 94 | <br/> | 
| 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="succ"·class="idref"·href="#succ"><span·class="id"·title="definition">succ</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>.<br/> | 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="succ"·class="idref"·href="#succ"><span·class="id"·title="definition">succ</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>.<br/> | 
| Offset 155, 15 lines modified | Offset 155, 15 lines modified | ||
| 155 | <br/> | 155 | <br/> | 
| 156 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">sub</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.sub</span>.<br/> | 156 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">sub</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.sub</span>.<br/> | 
| 157 | <br/> | 157 | <br/> | 
| 158 | </div> | 158 | </div> | 
| 159 | <div·class="doc"> | 159 | <div·class="doc"> | 
| 160 | <a·id="lab | 160 | <a·id="lab255"></a><h2·class="section">Comparisons</h2> | 
| 161 | </div> | 161 | </div> | 
| 162 | <div·class="code"> | 162 | <div·class="code"> | 
| 163 | <br/> | 163 | <br/> | 
| 164 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="eqb"·class="idref"·href="#eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="n:17"·class="idref"·href="#n:17"><span·class="id"·title="binder">n</span></a>·<a·id="m:18"·class="idref"·href="#m:18"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 164 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="eqb"·class="idref"·href="#eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="n:17"·class="idref"·href="#n:17"><span·class="id"·title="binder">n</span></a>·<a·id="m:18"·class="idref"·href="#m:18"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 
| 165 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:17"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Init.Nat.html#m:18"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 165 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:17"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Init.Nat.html#m:18"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 201, 15 lines modified | Offset 201, 15 lines modified | ||
| 201 | <br/> | 201 | <br/> | 
| 202 | <span·class="id"·title="keyword">Infix</span>·<a·id="4a243c6f4b9487508e7110341eeedb0b"·class="idref"·href="#4a243c6f4b9487508e7110341eeedb0b"><span·class="id"·title="notation">"</span></a>?="·:=·<a·class="idref"·href="Coq.Init.Nat.html#compare"><span·class="id"·title="definition">compare</span></a>·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·70)·:·<span·class="id"·title="var">nat_scope</span>.<br/> | 202 | <span·class="id"·title="keyword">Infix</span>·<a·id="4a243c6f4b9487508e7110341eeedb0b"·class="idref"·href="#4a243c6f4b9487508e7110341eeedb0b"><span·class="id"·title="notation">"</span></a>?="·:=·<a·class="idref"·href="Coq.Init.Nat.html#compare"><span·class="id"·title="definition">compare</span></a>·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·70)·:·<span·class="id"·title="var">nat_scope</span>.<br/> | 
| 203 | <br/> | 203 | <br/> | 
| 204 | </div> | 204 | </div> | 
| 205 | <div·class="doc"> | 205 | <div·class="doc"> | 
| 206 | <a·id="lab | 206 | <a·id="lab256"></a><h2·class="section">Minimum,·maximum</h2> | 
| 207 | </div> | 207 | </div> | 
| 208 | <div·class="code"> | 208 | <div·class="code"> | 
| 209 | <br/> | 209 | <br/> | 
| 210 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="max"·class="idref"·href="#max"><span·class="id"·title="definition">max</span></a>·<a·id="n:34"·class="idref"·href="#n:34"><span·class="id"·title="binder">n</span></a>·<a·id="m:35"·class="idref"·href="#m:35"><span·class="id"·title="binder">m</span></a>·:=<br/> | 210 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="max"·class="idref"·href="#max"><span·class="id"·title="definition">max</span></a>·<a·id="n:34"·class="idref"·href="#n:34"><span·class="id"·title="binder">n</span></a>·<a·id="m:35"·class="idref"·href="#m:35"><span·class="id"·title="binder">m</span></a>·:=<br/> | 
| 211 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:34"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Init.Nat.html#m:35"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 211 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:34"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Init.Nat.html#m:35"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 226, 15 lines modified | Offset 226, 15 lines modified | ||
| 226 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">n'</span>,·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">m'</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.Init.Nat.html#min:41"><span·class="id"·title="definition">min</span></a>·<span·class="id"·title="var">n'</span>·<span·class="id"·title="var">m'</span>)<br/> | 226 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">n'</span>,·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">m'</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.Init.Nat.html#min:41"><span·class="id"·title="definition">min</span></a>·<span·class="id"·title="var">n'</span>·<span·class="id"·title="var">m'</span>)<br/> | 
| 227 |   <span·class="id"·title="keyword">end</span>.<br/> | 227 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 228 | <br/> | 228 | <br/> | 
| 229 | </div> | 229 | </div> | 
| 230 | <div·class="doc"> | 230 | <div·class="doc"> | 
| 231 | <a·id="lab | 231 | <a·id="lab257"></a><h2·class="section">Parity·tests</h2> | 
| 232 | </div> | 232 | </div> | 
| 233 | <div·class="code"> | 233 | <div·class="code"> | 
| 234 | <br/> | 234 | <br/> | 
| 235 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="even"·class="idref"·href="#even"><span·class="id"·title="definition">even</span></a>·<a·id="n:44"·class="idref"·href="#n:44"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 235 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="even"·class="idref"·href="#even"><span·class="id"·title="definition">even</span></a>·<a·id="n:44"·class="idref"·href="#n:44"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 
| 236 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:44"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 236 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:44"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 246, 15 lines modified | Offset 246, 15 lines modified | ||
| 246 | <br/> | 246 | <br/> | 
| 247 | <span·class="id"·title="keyword">Definition</span>·<a·id="odd"·class="idref"·href="#odd"><span·class="id"·title="definition">odd</span></a>·<a·id="n:47"·class="idref"·href="#n:47"><span·class="id"·title="binder">n</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Init.Nat.html#even"><span·class="id"·title="definition">even</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#n:47"><span·class="id"·title="variable">n</span></a>).<br/> | 247 | <span·class="id"·title="keyword">Definition</span>·<a·id="odd"·class="idref"·href="#odd"><span·class="id"·title="definition">odd</span></a>·<a·id="n:47"·class="idref"·href="#n:47"><span·class="id"·title="binder">n</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Init.Nat.html#even"><span·class="id"·title="definition">even</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#n:47"><span·class="id"·title="variable">n</span></a>).<br/> | 
| 248 | <br/> | 248 | <br/> | 
| 249 | </div> | 249 | </div> | 
| 250 | <div·class="doc"> | 250 | <div·class="doc"> | 
| 251 | <a·id="lab | 251 | <a·id="lab258"></a><h2·class="section">Power</h2> | 
| 252 | </div> | 252 | </div> | 
| 253 | <div·class="code"> | 253 | <div·class="code"> | 
| 254 | <br/> | 254 | <br/> | 
| 255 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="pow"·class="idref"·href="#pow"><span·class="id"·title="definition">pow</span></a>·<a·id="n:48"·class="idref"·href="#n:48"><span·class="id"·title="binder">n</span></a>·<a·id="m:49"·class="idref"·href="#m:49"><span·class="id"·title="binder">m</span></a>·:=<br/> | 255 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="pow"·class="idref"·href="#pow"><span·class="id"·title="definition">pow</span></a>·<a·id="n:48"·class="idref"·href="#n:48"><span·class="id"·title="binder">n</span></a>·<a·id="m:49"·class="idref"·href="#m:49"><span·class="id"·title="binder">m</span></a>·:=<br/> | 
| 256 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#m:49"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 256 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#m:49"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 264, 15 lines modified | Offset 264, 15 lines modified | ||
| 264 | <br/> | 264 | <br/> | 
| 265 | <span·class="id"·title="keyword">where</span>·<a·id="81fd94e251a61ee523cdd7855774ae7c"·class="idref"·href="#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">"</span></a>n·^·m"·:=·(<a·class="idref"·href="Coq.Init.Nat.html#pow:50"><span·class="id"·title="definition">pow</span></a>·<span·class="id"·title="var">n</span>·<span·class="id"·title="var">m</span>)·:·<span·class="id"·title="var">nat_scope</span>.<br/> | 265 | <span·class="id"·title="keyword">where</span>·<a·id="81fd94e251a61ee523cdd7855774ae7c"·class="idref"·href="#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">"</span></a>n·^·m"·:=·(<a·class="idref"·href="Coq.Init.Nat.html#pow:50"><span·class="id"·title="definition">pow</span></a>·<span·class="id"·title="var">n</span>·<span·class="id"·title="var">m</span>)·:·<span·class="id"·title="var">nat_scope</span>.<br/> | 
| 266 | <br/> | 266 | <br/> | 
| 267 | </div> | 267 | </div> | 
| 268 | <div·class="doc"> | 268 | <div·class="doc"> | 
| 269 | <a·id="lab | 269 | <a·id="lab259"></a><h2·class="section">Tail-recursive·versions·of·<span·class="inlinecode"><span·class="id"·title="var">add</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">mul</span></span></h2> | 
| 270 | </div> | 270 | </div> | 
| 271 | <div·class="code"> | 271 | <div·class="code"> | 
| 272 | <br/> | 272 | <br/> | 
| 273 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="tail_add"·class="idref"·href="#tail_add"><span·class="id"·title="definition">tail_add</span></a>·<a·id="n:52"·class="idref"·href="#n:52"><span·class="id"·title="binder">n</span></a>·<a·id="m:53"·class="idref"·href="#m:53"><span·class="id"·title="binder">m</span></a>·:=<br/> | 273 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="tail_add"·class="idref"·href="#tail_add"><span·class="id"·title="definition">tail_add</span></a>·<a·id="n:52"·class="idref"·href="#n:52"><span·class="id"·title="binder">n</span></a>·<a·id="m:53"·class="idref"·href="#m:53"><span·class="id"·title="binder">m</span></a>·:=<br/> | 
| 274 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:52"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 274 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:52"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Max diff block lines reached; 7657/17103 bytes (44.77%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab267"></a><h1·class="section">Decimal·or·Hexadecimal·numbers</h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>.<br/> | 
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#"><span·class="id"·title="library">Logic</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#"><span·class="id"·title="library">Logic</span></a>.<br/> | 
| 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Specif.html#"><span·class="id"·title="library">Specif</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Specif.html#"><span·class="id"·title="library">Specif</span></a>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab268"></a><h1·class="section">Useful·tactics</h1> | 
| 57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> | 
| 58 | ·Ex·falso·quodlibet·:·a·tactic·for·proving·False·instead·of·the·current·goal. | 58 | ·Ex·falso·quodlibet·:·a·tactic·for·proving·False·instead·of·the·current·goal. | 
| 59 | ····This·is·just·a·nicer·name·for·tactics·such·as·<span·class="inlinecode"><span·class="id"·title="tactic">cut</span></span>·<span·class="inlinecode"><span·class="id"·title="var">False</span></span>.· | 59 | ····This·is·just·a·nicer·name·for·tactics·such·as·<span·class="inlinecode"><span·class="id"·title="tactic">cut</span></span>·<span·class="inlinecode"><span·class="id"·title="var">False</span></span>.· | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="code"> | 61 | <div·class="code"> | 
| Offset 372, 15 lines modified | Offset 372, 15 lines modified | ||
| 372 | <span·class="id"·title="keyword">Tactic·Notation</span>·"dependent"·"destruction"·<span·class="id"·title="var">ident</span>(<span·class="id"·title="var">H</span>)·:=<br/> | 372 | <span·class="id"·title="keyword">Tactic·Notation</span>·"dependent"·"destruction"·<span·class="id"·title="var">ident</span>(<span·class="id"·title="var">H</span>)·:=<br/> | 
| 373 |   <span·class="id"·title="tactic">fail</span>·"To·use·dependent·destruction,·first·[Require·Import·Coq.Program.Equality.]".<br/> | 373 |   <span·class="id"·title="tactic">fail</span>·"To·use·dependent·destruction,·first·[Require·Import·Coq.Program.Equality.]".<br/> | 
| 374 | <br/> | 374 | <br/> | 
| 375 | </div> | 375 | </div> | 
| 376 | <div·class="doc"> | 376 | <div·class="doc"> | 
| 377 | <a·id="lab | 377 | <a·id="lab269"></a><h3·class="section"><span·class="inlinecode"><span·class="id"·title="var">inversion_sigma</span></span></h3> | 
| 378 | ·The·built-in·<span·class="inlinecode"><span·class="id"·title="tactic">inversion</span></span>·will·frequently·leave·equalities·of | 378 | ·The·built-in·<span·class="inlinecode"><span·class="id"·title="tactic">inversion</span></span>·will·frequently·leave·equalities·of | 
| 379 | ····dependent·pairs.··When·the·first·type·in·the·pair·is·an·hProp·or | 379 | ····dependent·pairs.··When·the·first·type·in·the·pair·is·an·hProp·or | 
| 380 | ····otherwise·simplifies,·<span·class="inlinecode"><span·class="id"·title="var">inversion_sigma</span></span>·is·useful;·it·will·replace | 380 | ····otherwise·simplifies,·<span·class="inlinecode"><span·class="id"·title="var">inversion_sigma</span></span>·is·useful;·it·will·replace | 
| 381 | ····the·equality·of·pairs·with·a·pair·of·equalities,·one·involving·a | 381 | ····the·equality·of·pairs·with·a·pair·of·equalities,·one·involving·a | 
| 382 | ····term·casted·along·the·other.··This·might·also·prove·useful·for | 382 | ····term·casted·along·the·other.··This·might·also·prove·useful·for | 
| 383 | ····writing·a·version·of·<span·class="inlinecode"><span·class="id"·title="tactic">inversion</span></span>·/·<span·class="inlinecode"><span·class="id"·title="tactic">dependent</span></span>·<span·class="inlinecode"><span·class="id"·title="tactic">destruction</span></span>·which | 383 | ····writing·a·version·of·<span·class="inlinecode"><span·class="id"·title="tactic">inversion</span></span>·/·<span·class="inlinecode"><span·class="id"·title="tactic">dependent</span></span>·<span·class="inlinecode"><span·class="id"·title="tactic">destruction</span></span>·which | 
| 384 | ····does·not·lose·information,·i.e.,·does·not·turn·a·goal·which·is | 384 | ····does·not·lose·information,·i.e.,·does·not·turn·a·goal·which·is | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab273"></a><h1·class="section">The·tauto·and·intuition·tactics</h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#"><span·class="id"·title="library">Notations</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#"><span·class="id"·title="library">Notations</span></a>.<br/> | 
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Ltac</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Ltac</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab272"></a><h1·class="section">This·module·proves·the·validity·of</h1> | 
| 50 | <ul·class="doclist"> | 50 | <ul·class="doclist"> | 
| 51 | <li>·well-founded·recursion·(also·known·as·course·of·values) | 51 | <li>·well-founded·recursion·(also·known·as·course·of·values) | 
| 52 | </li> | 52 | </li> | 
| 53 | <li>·well-founded·induction | 53 | <li>·well-founded·induction | 
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <br/> | 51 | <br/> | 
| 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab1036"></a><h1·class="section">Basics:·definition·of·polymorphic·lists·and·some·operations</h1> | 
| 57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> | 
| 58 | ·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">list</span></span>·is·now·in·<span·class="inlinecode"><span·class="id"·title="var">Init</span>/<span·class="id"·title="var">Datatypes</span></span>, | 58 | ·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">list</span></span>·is·now·in·<span·class="inlinecode"><span·class="id"·title="var">Init</span>/<span·class="id"·title="var">Datatypes</span></span>, | 
| 59 | ····as·well·as·the·definitions·of·<span·class="inlinecode"><span·class="id"·title="var">length</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">app</span></span>· | 59 | ····as·well·as·the·definitions·of·<span·class="inlinecode"><span·class="id"·title="var">length</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">app</span></span>· | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="code"> | 61 | <div·class="code"> | 
| Offset 143, 15 lines modified | Offset 143, 15 lines modified | ||
| 143 | <br/> | 143 | <br/> | 
| 144 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Facts.A"·class="idref"·href="#Facts.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 144 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Facts.A"·class="idref"·href="#Facts.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| 145 | <br/> | 145 | <br/> | 
| 146 | </div> | 146 | </div> | 
| 147 | <div·class="doc"> | 147 | <div·class="doc"> | 
| 148 | <a·id="lab | 148 | <a·id="lab1037"></a><h3·class="section">Generic·facts</h3> | 
| 149 | <div·class="paragraph">·</div> | 149 | <div·class="paragraph">·</div> | 
| 150 | ·Discrimination· | 150 | ·Discrimination· | 
| 151 | </div> | 151 | </div> | 
| 152 | <div·class="code"> | 152 | <div·class="code"> | 
| 153 |   <span·class="id"·title="keyword">Theorem</span>·<a·id="nil_cons"·class="idref"·href="#nil_cons"><span·class="id"·title="lemma">nil_cons</span></a>·(<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="l:17"·class="idref"·href="#l:17"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><span·class="id"·title="notation">[]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Lists.List.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:17"><span·class="id"·title="variable">l</span></a>.<br/> | 153 |   <span·class="id"·title="keyword">Theorem</span>·<a·id="nil_cons"·class="idref"·href="#nil_cons"><span·class="id"·title="lemma">nil_cons</span></a>·(<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="l:17"·class="idref"·href="#l:17"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><span·class="id"·title="notation">[]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Lists.List.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:17"><span·class="id"·title="variable">l</span></a>.<br/> | 
| Offset 178, 30 lines modified | Offset 178, 30 lines modified | ||
| 178 |   <span·class="id"·title="keyword">Theorem</span>·<a·id="length_zero_iff_nil"·class="idref"·href="#length_zero_iff_nil"><span·class="id"·title="lemma">length_zero_iff_nil</span></a>·(<a·id="l:26"·class="idref"·href="#l:26"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>):<br/> | 178 |   <span·class="id"·title="keyword">Theorem</span>·<a·id="length_zero_iff_nil"·class="idref"·href="#length_zero_iff_nil"><span·class="id"·title="lemma">length_zero_iff_nil</span></a>·(<a·id="l:26"·class="idref"·href="#l:26"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>):<br/> | 
| 179 |     <a·class="idref"·href="Coq.Init.Datatypes.html#length"><span·class="id"·title="definition">length</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:26"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:26"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><span·class="id"·title="notation">[]</span></a>.<br/> | 179 |     <a·class="idref"·href="Coq.Init.Datatypes.html#length"><span·class="id"·title="definition">length</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:26"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:26"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><span·class="id"·title="notation">[]</span></a>.<br/> | 
| 180 | <br/> | 180 | <br/> | 
| 181 | </div> | 181 | </div> | 
| 182 | <div·class="doc"> | 182 | <div·class="doc"> | 
| 183 | <a·id="lab | 183 | <a·id="lab1038"></a><h3·class="section">Head·and·tail</h3> | 
| 184 | </div> | 184 | </div> | 
| 185 | <div·class="code"> | 185 | <div·class="code"> | 
| 186 | <br/> | 186 | <br/> | 
| 187 |   <span·class="id"·title="keyword">Theorem</span>·<a·id="hd_error_nil"·class="idref"·href="#hd_error_nil"><span·class="id"·title="lemma">hd_error_nil</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#hd_error"><span·class="id"·title="definition">hd_error</span></a>·(@<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#None"><span·class="id"·title="constructor">None</span></a>.<br/> | 187 |   <span·class="id"·title="keyword">Theorem</span>·<a·id="hd_error_nil"·class="idref"·href="#hd_error_nil"><span·class="id"·title="lemma">hd_error_nil</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#hd_error"><span·class="id"·title="definition">hd_error</span></a>·(@<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#None"><span·class="id"·title="constructor">None</span></a>.<br/> | 
| 188 | <br/> | 188 | <br/> | 
| 189 |   <span·class="id"·title="keyword">Theorem</span>·<a·id="hd_error_cons"·class="idref"·href="#hd_error_cons"><span·class="id"·title="lemma">hd_error_cons</span></a>·(<a·id="l:27"·class="idref"·href="#l:27"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="x:28"·class="idref"·href="#x:28"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#hd_error"><span·class="id"·title="definition">hd_error</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#x:28"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a><a·class="idref"·href="Coq.Lists.List.html#l:27"><span·class="id"·title="variable">l</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Some"><span·class="id"·title="constructor">Some</span></a>·<a·class="idref"·href="Coq.Lists.List.html#x:28"><span·class="id"·title="variable">x</span></a>.<br/> | 189 |   <span·class="id"·title="keyword">Theorem</span>·<a·id="hd_error_cons"·class="idref"·href="#hd_error_cons"><span·class="id"·title="lemma">hd_error_cons</span></a>·(<a·id="l:27"·class="idref"·href="#l:27"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="x:28"·class="idref"·href="#x:28"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#hd_error"><span·class="id"·title="definition">hd_error</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#x:28"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a><a·class="idref"·href="Coq.Lists.List.html#l:27"><span·class="id"·title="variable">l</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Some"><span·class="id"·title="constructor">Some</span></a>·<a·class="idref"·href="Coq.Lists.List.html#x:28"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 190 | <br/> | 190 | <br/> | 
| 191 | </div> | 191 | </div> | 
| 192 | <div·class="doc"> | 192 | <div·class="doc"> | 
| 193 | <a·id="lab | 193 | <a·id="lab1039"></a><h3·class="section">Facts·about·<span·class="inlinecode"><span·class="id"·title="var">app</span></span></h3> | 
| 194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> | 
| 195 | ·Discrimination· | 195 | ·Discrimination· | 
| 196 | </div> | 196 | </div> | 
| 197 | <div·class="code"> | 197 | <div·class="code"> | 
| 198 |   <span·class="id"·title="keyword">Theorem</span>·<a·id="app_cons_not_nil"·class="idref"·href="#app_cons_not_nil"><span·class="id"·title="lemma">app_cons_not_nil</span></a>·(<a·id="x:29"·class="idref"·href="#x:29"><span·class="id"·title="binder">x</span></a>·<a·id="y:30"·class="idref"·href="#y:30"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="a:31"·class="idref"·href="#a:31"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><span·class="id"·title="notation">[]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Lists.List.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#a:31"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Lists.List.html#y:30"><span·class="id"·title="variable">y</span></a>.<br/> | 198 |   <span·class="id"·title="keyword">Theorem</span>·<a·id="app_cons_not_nil"·class="idref"·href="#app_cons_not_nil"><span·class="id"·title="lemma">app_cons_not_nil</span></a>·(<a·id="x:29"·class="idref"·href="#x:29"><span·class="id"·title="binder">x</span></a>·<a·id="y:30"·class="idref"·href="#y:30"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="a:31"·class="idref"·href="#a:31"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><span·class="id"·title="notation">[]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Lists.List.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#a:31"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Lists.List.html#y:30"><span·class="id"·title="variable">y</span></a>.<br/> | 
| Offset 305, 15 lines modified | Offset 305, 15 lines modified | ||
| 305 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="app_inv_tail_iff"·class="idref"·href="#app_inv_tail_iff"><span·class="id"·title="lemma">app_inv_tail_iff</span></a>:<br/> | 305 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="app_inv_tail_iff"·class="idref"·href="#app_inv_tail_iff"><span·class="id"·title="lemma">app_inv_tail_iff</span></a>:<br/> | 
| 306 |     <span·class="id"·title="keyword">forall</span>·<a·id="l:85"·class="idref"·href="#l:85"><span·class="id"·title="binder">l</span></a>·<a·id="l1:86"·class="idref"·href="#l1:86"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:87"·class="idref"·href="#l2:87"><span·class="id"·title="binder">l2</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Lists.List.html#l1:86"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:85"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l2:87"><span·class="id"·title="variable">l2</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:85"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Lists.List.html#l1:86"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l2:87"><span·class="id"·title="variable">l2</span></a>.<br/> | 306 |     <span·class="id"·title="keyword">forall</span>·<a·id="l:85"·class="idref"·href="#l:85"><span·class="id"·title="binder">l</span></a>·<a·id="l1:86"·class="idref"·href="#l1:86"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:87"·class="idref"·href="#l2:87"><span·class="id"·title="binder">l2</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Lists.List.html#l1:86"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:85"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l2:87"><span·class="id"·title="variable">l2</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:85"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Lists.List.html#l1:86"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l2:87"><span·class="id"·title="variable">l2</span></a>.<br/> | 
| 307 | <br/> | 307 | <br/> | 
| 308 | </div> | 308 | </div> | 
| 309 | <div·class="doc"> | 309 | <div·class="doc"> | 
| 310 | <a·id="lab | 310 | <a·id="lab1040"></a><h3·class="section">Facts·about·<span·class="inlinecode"><span·class="id"·title="var">In</span></span></h3> | 
| 311 | <div·class="paragraph">·</div> | 311 | <div·class="paragraph">·</div> | 
| 312 | ·Characterization·of·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>· | 312 | ·Characterization·of·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>· | 
| 313 | </div> | 313 | </div> | 
| 314 | <div·class="code"> | 314 | <div·class="code"> | 
| Offset 391, 30 lines modified | Offset 391, 30 lines modified | ||
| 391 | <br/> | 391 | <br/> | 
| 392 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">datatypes</span>.<br/> | 392 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">datatypes</span>.<br/> | 
| 393 | <br/> | 393 | <br/> | 
| 394 | </div> | 394 | </div> | 
| 395 | <div·class="doc"> | 395 | <div·class="doc"> | 
| 396 | <a·id="lab | 396 | <a·id="lab1041"></a><h1·class="section">Operations·on·the·elements·of·a·list</h1> | 
| 397 | </div> | 397 | </div> | 
| 398 | <div·class="code"> | 398 | <div·class="code"> | 
| 399 | <br/> | 399 | <br/> | 
| 400 | <span·class="id"·title="keyword">Section</span>·<a·id="Elts"·class="idref"·href="#Elts"><span·class="id"·title="section">Elts</span></a>.<br/> | 400 | <span·class="id"·title="keyword">Section</span>·<a·id="Elts"·class="idref"·href="#Elts"><span·class="id"·title="section">Elts</span></a>.<br/> | 
| 401 | <br/> | 401 | <br/> | 
| 402 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Elts.A"·class="idref"·href="#Elts.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 402 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Elts.A"·class="idref"·href="#Elts.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| 403 | <br/> | 403 | <br/> | 
| 404 | </div> | 404 | </div> | 
| 405 | <div·class="doc"> | 405 | <div·class="doc"> | 
| 406 | <a·id="lab | 406 | <a·id="lab1042"></a><h2·class="section">Nth·element·of·a·list</h2> | 
| 407 | </div> | 407 | </div> | 
| 408 | <div·class="code"> | 408 | <div·class="code"> | 
| 409 | <br/> | 409 | <br/> | 
| 410 |   <span·class="id"·title="keyword">Fixpoint</span>·<a·id="nth"·class="idref"·href="#nth"><span·class="id"·title="definition">nth</span></a>·(<a·id="n:131"·class="idref"·href="#n:131"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·(<a·id="l:132"·class="idref"·href="#l:132"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="default:133"·class="idref"·href="#default:133"><span·class="id"·title="binder">default</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">l</span>}·:·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>·:=<br/> | 410 |   <span·class="id"·title="keyword">Fixpoint</span>·<a·id="nth"·class="idref"·href="#nth"><span·class="id"·title="definition">nth</span></a>·(<a·id="n:131"·class="idref"·href="#n:131"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·(<a·id="l:132"·class="idref"·href="#l:132"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="default:133"·class="idref"·href="#default:133"><span·class="id"·title="binder">default</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">l</span>}·:·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>·:=<br/> | 
| 411 |     <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Lists.List.html#n:131"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Lists.List.html#l:132"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">with</span><br/> | 411 |     <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Lists.List.html#n:131"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Lists.List.html#l:132"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 608, 15 lines modified | Offset 608, 15 lines modified | ||
| 608 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="nth_error_nth_None"·class="idref"·href="#nth_error_nth_None"><span·class="id"·title="lemma">nth_error_nth_None</span></a>·(<a·id="l:255"·class="idref"·href="#l:255"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="n:256"·class="idref"·href="#n:256"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·(<a·id="d:257"·class="idref"·href="#d:257"><span·class="id"·title="binder">d</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·:<br/> | 608 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="nth_error_nth_None"·class="idref"·href="#nth_error_nth_None"><span·class="id"·title="lemma">nth_error_nth_None</span></a>·(<a·id="l:255"·class="idref"·href="#l:255"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="n:256"·class="idref"·href="#n:256"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·(<a·id="d:257"·class="idref"·href="#d:257"><span·class="id"·title="binder">d</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·:<br/> | 
| 609 |     <a·class="idref"·href="Coq.Lists.List.html#nth_error"><span·class="id"·title="definition">nth_error</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:255"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Lists.List.html#n:256"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#None"><span·class="id"·title="constructor">None</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Lists.List.html#nth"><span·class="id"·title="definition">nth</span></a>·<a·class="idref"·href="Coq.Lists.List.html#n:256"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:255"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Lists.List.html#d:257"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#d:257"><span·class="id"·title="variable">d</span></a>.<br/> | 609 |     <a·class="idref"·href="Coq.Lists.List.html#nth_error"><span·class="id"·title="definition">nth_error</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:255"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Lists.List.html#n:256"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#None"><span·class="id"·title="constructor">None</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Lists.List.html#nth"><span·class="id"·title="definition">nth</span></a>·<a·class="idref"·href="Coq.Lists.List.html#n:256"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:255"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Lists.List.html#d:257"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#d:257"><span·class="id"·title="variable">d</span></a>.<br/> | 
| 610 | <br/> | 610 | <br/> | 
| 611 | </div> | 611 | </div> | 
| 612 | <div·class="doc"> | 612 | <div·class="doc"> | 
| 613 | <a·id="lab | 613 | <a·id="lab1043"></a><h2·class="section">Last·element·of·a·list</h2> | 
| 614 | <div·class="paragraph">·</div> | 614 | <div·class="paragraph">·</div> | 
| 615 | ·<span·class="inlinecode"><span·class="id"·title="var">last</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>·returns·the·last·element·of·the·list·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>, | 615 | ·<span·class="inlinecode"><span·class="id"·title="var">last</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>·returns·the·last·element·of·the·list·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>, | 
| 616 | ····or·the·default·value·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>·if·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·is·empty.· | 616 | ····or·the·default·value·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>·if·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·is·empty.· | 
| 617 | </div> | 617 | </div> | 
| 618 | <div·class="code"> | 618 | <div·class="code"> | 
| Offset 663, 15 lines modified | Offset 663, 15 lines modified | ||
| 663 | <br/> | 663 | <br/> | 
| Max diff block lines reached; 29558/46812 bytes (63.14%) of diff not shown. | |||
| Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Lists.List.html#"><span·class="id"·title="library">List</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Lists.List.html#"><span·class="id"·title="library">List</span></a>.<br/> | 
| 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Sorting.Sorted.html#"><span·class="id"·title="library">Sorted</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Sorting.Sorted.html#"><span·class="id"·title="library">Sorted</span></a>.<br/> | 
| 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>.<br/> | 
| 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="doc"> | 54 | <div·class="doc"> | 
| 55 | <a·id="lab | 55 | <a·id="lab1068"></a><h1·class="section">Logical·relations·over·lists·with·respect·to·a·setoid·equality</h1> | 
| 56 | ······or·ordering.· | 56 | ······or·ordering.· | 
| 57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> | 
| 58 | ·This·can·be·seen·as·a·complement·of·predicate·<span·class="inlinecode"><span·class="id"·title="var">lelistA</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">sort</span></span> | 58 | ·This·can·be·seen·as·a·complement·of·predicate·<span·class="inlinecode"><span·class="id"·title="var">lelistA</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">sort</span></span> | 
| 59 | ····found·in·<span·class="inlinecode"><span·class="id"·title="var">Sorting</span></span>.· | 59 | ····found·in·<span·class="inlinecode"><span·class="id"·title="var">Sorting</span></span>.· | 
| 60 | </div> | 60 | </div> | 
| Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Logic.Eqdep_dec.html#"><span·class="id"·title="library">Eqdep_dec</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Logic.Eqdep_dec.html#"><span·class="id"·title="library">Eqdep_dec</span></a>.<br/> | 
| 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.Streams.html#"><span·class="id"·title="library">Streams</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.Streams.html#"><span·class="id"·title="library">Streams</span></a>.<br/> | 
| 51 | <br/> | 51 | <br/> | 
| 52 | </div> | 52 | </div> | 
| 53 | <div·class="doc"> | 53 | <div·class="doc"> | 
| 54 | <a·id="lab | 54 | <a·id="lab1035"></a><h1·class="section">Memoization</h1> | 
| 55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> | 
| 56 | ·Successive·outputs·of·a·given·function·<span·class="inlinecode"><span·class="id"·title="var">f</span></span>·are·stored·in | 56 | ·Successive·outputs·of·a·given·function·<span·class="inlinecode"><span·class="id"·title="var">f</span></span>·are·stored·in | 
| 57 | ····a·stream·in·order·to·avoid·duplicated·computations.· | 57 | ····a·stream·in·order·to·avoid·duplicated·computations.· | 
| 58 | </div> | 58 | </div> | 
| 59 | <div·class="code"> | 59 | <div·class="code"> | 
| Offset 46, 15 lines modified | Offset 46, 15 lines modified | ||
| 46 | <div·class="code"> | 46 | <div·class="code"> | 
| 47 | <br/> | 47 | <br/> | 
| 48 | </div> | 48 | </div> | 
| 49 | <div·class="doc"> | 49 | <div·class="doc"> | 
| 50 | Some·facts·and·definitions·concerning·choice·and·description·in | 50 | Some·facts·and·definitions·concerning·choice·and·description·in | 
| 51 | ·······intuitionistic·logic.·<a·id="lab | 51 | ·······intuitionistic·logic.·<a·id="lab962"></a><h1·class="section">References:</h1> | 
| 52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> | 
| 53 | <span·class="inlinecode">[<span·class="id"·title="var">Bell</span>]</span>·John·L.·Bell,·Choice·principles·in·intuitionistic·set·theory, | 53 | <span·class="inlinecode">[<span·class="id"·title="var">Bell</span>]</span>·John·L.·Bell,·Choice·principles·in·intuitionistic·set·theory, | 
| 54 | unpublished. | 54 | unpublished. | 
| 55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> | 
| Offset 85, 15 lines modified | Offset 85, 15 lines modified | ||
| 85 | <br/> | 85 | <br/> | 
| 86 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 86 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 87 | <br/> | 87 | <br/> | 
| 88 | </div> | 88 | </div> | 
| 89 | <div·class="doc"> | 89 | <div·class="doc"> | 
| 90 | <a·id="lab | 90 | <a·id="lab963"></a><h1·class="section">Definitions</h1> | 
| 91 | <div·class="paragraph">·</div> | 91 | <div·class="paragraph">·</div> | 
| 92 | ·Choice,·reification·and·description·schemes· | 92 | ·Choice,·reification·and·description·schemes· | 
| 93 | <div·class="paragraph">·</div> | 93 | <div·class="paragraph">·</div> | 
| 94 | ·We·make·them·all·polymorphic.·Most·of·them·have·existentials·as·conclusion | 94 | ·We·make·them·all·polymorphic.·Most·of·them·have·existentials·as·conclusion | 
| Offset 112, 15 lines modified | Offset 112, 15 lines modified | ||
| 112 | <br/> | 112 | <br/> | 
| 113 | <span·class="id"·title="keyword">Variable</span>·<a·id="ChoiceSchemes.P"·class="idref"·href="#ChoiceSchemes.P"><span·class="id"·title="variable">P</span></a>:<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><span·class="id"·title="keyword">Prop</span>.<br/> | 113 | <span·class="id"·title="keyword">Variable</span>·<a·id="ChoiceSchemes.P"·class="idref"·href="#ChoiceSchemes.P"><span·class="id"·title="variable">P</span></a>:<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><span·class="id"·title="keyword">Prop</span>.<br/> | 
| 114 | <br/> | 114 | <br/> | 
| 115 | </div> | 115 | </div> | 
| 116 | <div·class="doc"> | 116 | <div·class="doc"> | 
| 117 | <a·id="lab | 117 | <a·id="lab964"></a><h2·class="section">Constructive·choice·and·description</h2> | 
| 118 | <div·class="paragraph">·</div> | 118 | <div·class="paragraph">·</div> | 
| 119 | ·AC_rel·=·relational·form·of·the·(non·extensional)·axiom·of·choice | 119 | ·AC_rel·=·relational·form·of·the·(non·extensional)·axiom·of·choice | 
| 120 | ·············(a·"set-theoretic"·axiom·of·choice)· | 120 | ·············(a·"set-theoretic"·axiom·of·choice)· | 
| 121 | </div> | 121 | </div> | 
| 122 | <div·class="code"> | 122 | <div·class="code"> | 
| Offset 342, 15 lines modified | Offset 342, 15 lines modified | ||
| 342 |   <span·class="id"·title="keyword">forall</span>·<a·id="P:100"·class="idref"·href="#P:100"><span·class="id"·title="binder">P</span></a>:<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><span·class="id"·title="keyword">Prop</span>,<br/> | 342 |   <span·class="id"·title="keyword">forall</span>·<a·id="P:100"·class="idref"·href="#P:100"><span·class="id"·title="binder">P</span></a>:<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><span·class="id"·title="keyword">Prop</span>,<br/> | 
| 343 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">exists</span></a><a·class="idref"·href="Coq.Init.Logic.html#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">!</span></a>·<a·id="x:101"·class="idref"·href="#x:101"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#P:100"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#x:101"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="x:102"·class="idref"·href="#x:102"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#P:100"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#x:102"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 343 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">exists</span></a><a·class="idref"·href="Coq.Init.Logic.html#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">!</span></a>·<a·id="x:101"·class="idref"·href="#x:101"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#P:100"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#x:101"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="x:102"·class="idref"·href="#x:102"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#P:100"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#x:102"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 344 | <br/> | 344 | <br/> | 
| 345 | </div> | 345 | </div> | 
| 346 | <div·class="doc"> | 346 | <div·class="doc"> | 
| 347 | <a·id="lab | 347 | <a·id="lab965"></a><h2·class="section">Weakly·classical·choice·and·description</h2> | 
| 348 | <div·class="paragraph">·</div> | 348 | <div·class="paragraph">·</div> | 
| 349 | ·GAC_rel·=·guarded·relational·form·of·the·(non·extensional)·axiom·of·choice· | 349 | ·GAC_rel·=·guarded·relational·form·of·the·(non·extensional)·axiom·of·choice· | 
| 350 | </div> | 350 | </div> | 
| 351 | <div·class="code"> | 351 | <div·class="code"> | 
| Offset 621, 15 lines modified | Offset 621, 15 lines modified | ||
| 621 | <div·class="paragraph">·</div> | 621 | <div·class="paragraph">·</div> | 
| 622 | with·no·prerequisite·on·the·non-emptiness·of·domains | 622 | with·no·prerequisite·on·the·non-emptiness·of·domains | 
| 623 | <div·class="paragraph">·</div> | 623 | <div·class="paragraph">·</div> | 
| 624 | <a·id="lab | 624 | <a·id="lab966"></a><h1·class="section">Table·of·contents</h1> | 
| 625 | </div> | 625 | </div> | 
| 626 | <div·class="code"> | 626 | <div·class="code"> | 
| 627 | <br/> | 627 | <br/> | 
| 628 | </div> | 628 | </div> | 
| Offset 678, 15 lines modified | Offset 678, 15 lines modified | ||
| 678 | <div·class="paragraph">·</div> | 678 | <div·class="paragraph">·</div> | 
| 679 | 9.2.·AC_fun_setoid·=·AC_fun·+·Ext_pred_repr·+·PI | 679 | 9.2.·AC_fun_setoid·=·AC_fun·+·Ext_pred_repr·+·PI | 
| 680 | · | 680 | · | 
| 681 | <div·class="paragraph">·</div> | 681 | <div·class="paragraph">·</div> | 
| 682 | <a·id="lab | 682 | <a·id="lab967"></a><h1·class="section">AC_rel·+·AC!·=·AC_fun</h1> | 
| 683 | <div·class="paragraph">·</div> | 683 | <div·class="paragraph">·</div> | 
| 684 | ···We·show·that·the·functional·formulation·of·the·axiom·of·Choice | 684 | ···We·show·that·the·functional·formulation·of·the·axiom·of·Choice | 
| 685 | ···(usual·formulation·in·type·theory)·is·equivalent·to·its·relational | 685 | ···(usual·formulation·in·type·theory)·is·equivalent·to·its·relational | 
| 686 | ···formulation·(only·formulation·of·set·theory)·+·functional·relation | 686 | ···formulation·(only·formulation·of·set·theory)·+·functional·relation | 
| Offset 718, 26 lines modified | Offset 718, 26 lines modified | ||
| 718 |   <span·class="id"·title="keyword">forall</span>·<a·id="A:214"·class="idref"·href="#A:214"><span·class="id"·title="binder">A</span></a>·<a·id="B:215"·class="idref"·href="#B:215"><span·class="id"·title="binder">B</span></a>·:·<span·class="id"·title="keyword">Type</span>,·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#FunctionalChoice_on"><span·class="id"·title="definition">FunctionalChoice_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a><br/> | 718 |   <span·class="id"·title="keyword">forall</span>·<a·id="A:214"·class="idref"·href="#A:214"><span·class="id"·title="binder">A</span></a>·<a·id="B:215"·class="idref"·href="#B:215"><span·class="id"·title="binder">B</span></a>·:·<span·class="id"·title="keyword">Type</span>,·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#FunctionalChoice_on"><span·class="id"·title="definition">FunctionalChoice_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a><br/> | 
| 719 |     <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#RelationalChoice_on"><span·class="id"·title="definition">RelationalChoice_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#FunctionalRelReification_on"><span·class="id"·title="definition">FunctionalRelReification_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><span·class="id"·title="variable">B</span></a>.<br/> | 719 |     <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#RelationalChoice_on"><span·class="id"·title="definition">RelationalChoice_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#FunctionalRelReification_on"><span·class="id"·title="definition">FunctionalRelReification_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><span·class="id"·title="variable">B</span></a>.<br/> | 
| 720 | <br/> | 720 | <br/> | 
| 721 | </div> | 721 | </div> | 
| 722 | <div·class="doc"> | 722 | <div·class="doc"> | 
| 723 | <a·id="lab | 723 | <a·id="lab968"></a><h1·class="section">Connection·between·the·guarded,·non·guarded·and·omniscient·choices</h1> | 
| 724 | <div·class="paragraph">·</div> | 724 | <div·class="paragraph">·</div> | 
| 725 | ·We·show·that·the·guarded·formulations·of·the·axiom·of·choice | 725 | ·We·show·that·the·guarded·formulations·of·the·axiom·of·choice | 
| 726 | ···are·equivalent·to·their·"omniscient"·variant·and·comes·from·the·non·guarded | 726 | ···are·equivalent·to·their·"omniscient"·variant·and·comes·from·the·non·guarded | 
| 727 | ···formulation·in·presence·either·of·the·independence·of·general·premises | 727 | ···formulation·in·presence·either·of·the·independence·of·general·premises | 
| 728 | ···or·subset·types·(themselves·derivable·from·subtypes·thanks·to·proof- | 728 | ···or·subset·types·(themselves·derivable·from·subtypes·thanks·to·proof- | 
| 729 | ···irrelevance)· | 729 | ···irrelevance)· | 
| 730 | <div·class="paragraph">·</div> | 730 | <div·class="paragraph">·</div> | 
| 731 | <a·id="lab | 731 | <a·id="lab969"></a><h2·class="section">AC_rel·+·PI·->·GAC_rel·and·AC_rel·+·IGP·->·GAC_rel·and·GAC_rel·=·OAC_rel</h2> | 
| 732 | </div> | 732 | </div> | 
| 733 | <div·class="code"> | 733 | <div·class="code"> | 
| 734 | <br/> | 734 | <br/> | 
| 735 | <span·class="id"·title="keyword">Lemma</span>·<a·id="rel_choice_and_proof_irrel_imp_guarded_rel_choice"·class="idref"·href="#rel_choice_and_proof_irrel_imp_guarded_rel_choice"><span·class="id"·title="lemma">rel_choice_and_proof_irrel_imp_guarded_rel_choice</span></a>·:<br/> | 735 | <span·class="id"·title="keyword">Lemma</span>·<a·id="rel_choice_and_proof_irrel_imp_guarded_rel_choice"·class="idref"·href="#rel_choice_and_proof_irrel_imp_guarded_rel_choice"><span·class="id"·title="lemma">rel_choice_and_proof_irrel_imp_guarded_rel_choice</span></a>·:<br/> | 
| 736 |   <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#RelationalChoice"><span·class="id"·title="abbreviation">RelationalChoice</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ProofIrrelevance"><span·class="id"·title="definition">ProofIrrelevance</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#GuardedRelationalChoice"><span·class="id"·title="abbreviation">GuardedRelationalChoice</span></a>.<br/> | 736 |   <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#RelationalChoice"><span·class="id"·title="abbreviation">RelationalChoice</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ProofIrrelevance"><span·class="id"·title="definition">ProofIrrelevance</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#GuardedRelationalChoice"><span·class="id"·title="abbreviation">GuardedRelationalChoice</span></a>.<br/> | 
| Offset 767, 15 lines modified | Offset 767, 15 lines modified | ||
| 767 | <span·class="id"·title="keyword">Corollary</span>·<a·id="guarded_iff_omniscient_rel_choice"·class="idref"·href="#guarded_iff_omniscient_rel_choice"><span·class="id"·title="lemma">guarded_iff_omniscient_rel_choice</span></a>·:<br/> | 767 | <span·class="id"·title="keyword">Corollary</span>·<a·id="guarded_iff_omniscient_rel_choice"·class="idref"·href="#guarded_iff_omniscient_rel_choice"><span·class="id"·title="lemma">guarded_iff_omniscient_rel_choice</span></a>·:<br/> | 
| 768 |   <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#GuardedRelationalChoice"><span·class="id"·title="abbreviation">GuardedRelationalChoice</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#OmniscientRelationalChoice"><span·class="id"·title="abbreviation">OmniscientRelationalChoice</span></a>.<br/> | 768 |   <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#GuardedRelationalChoice"><span·class="id"·title="abbreviation">GuardedRelationalChoice</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#OmniscientRelationalChoice"><span·class="id"·title="abbreviation">OmniscientRelationalChoice</span></a>.<br/> | 
| 769 | <br/> | 769 | <br/> | 
| Max diff block lines reached; 31817/41506 bytes (76.66%) of diff not shown. | |||
| Offset 129, 15 lines modified | Offset 129, 15 lines modified | ||
| 129 | <br/> | 129 | <br/> | 
| 130 | <span·class="id"·title="keyword">Opaque</span>·<a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#epsilon"><span·class="id"·title="definition">epsilon</span></a>.<br/> | 130 | <span·class="id"·title="keyword">Opaque</span>·<a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#epsilon"><span·class="id"·title="definition">epsilon</span></a>.<br/> | 
| 131 | <br/> | 131 | <br/> | 
| 132 | </div> | 132 | </div> | 
| 133 | <div·class="doc"> | 133 | <div·class="doc"> | 
| 134 | <a·id="lab | 134 | <a·id="lab961"></a><h3·class="section">Weaker·lemmas·(compatibility·lemmas)</h3> | 
| 135 | </div> | 135 | </div> | 
| 136 | <div·class="code"> | 136 | <div·class="code"> | 
| 137 | <br/> | 137 | <br/> | 
| 138 | <span·class="id"·title="keyword">Theorem</span>·<a·id="choice"·class="idref"·href="#choice"><span·class="id"·title="lemma">choice</span></a>·:<br/> | 138 | <span·class="id"·title="keyword">Theorem</span>·<a·id="choice"·class="idref"·href="#choice"><span·class="id"·title="lemma">choice</span></a>·:<br/> | 
| 139 |   <span·class="id"·title="keyword">forall</span>·(<a·id="A:38"·class="idref"·href="#A:38"><span·class="id"·title="binder">A</span></a>·<a·id="B:39"·class="idref"·href="#B:39"><span·class="id"·title="binder">B</span></a>·:·<span·class="id"·title="keyword">Type</span>)·(<a·id="R:40"·class="idref"·href="#R:40"><span·class="id"·title="binder">R</span></a>·:·<a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#A:38"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#B:39"><span·class="id"·title="variable">B</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><span·class="id"·title="keyword">Prop</span>),<br/> | 139 |   <span·class="id"·title="keyword">forall</span>·(<a·id="A:38"·class="idref"·href="#A:38"><span·class="id"·title="binder">A</span></a>·<a·id="B:39"·class="idref"·href="#B:39"><span·class="id"·title="binder">B</span></a>·:·<span·class="id"·title="keyword">Type</span>)·(<a·id="R:40"·class="idref"·href="#R:40"><span·class="id"·title="binder">R</span></a>·:·<a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#A:38"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#B:39"><span·class="id"·title="variable">B</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><span·class="id"·title="keyword">Prop</span>),<br/> | 
| Offset 110, 15 lines modified | Offset 110, 15 lines modified | ||
| 110 | <div·class="paragraph">·</div> | 110 | <div·class="paragraph">·</div> | 
| 111 | 4.2·Classical·logic·=·choice·of·representatives·in·a·partition·of·bool | 111 | 4.2·Classical·logic·=·choice·of·representatives·in·a·partition·of·bool | 
| 112 | <div·class="paragraph">·</div> | 112 | <div·class="paragraph">·</div> | 
| 113 | <a·id="lab | 113 | <a·id="lab904"></a><h1·class="section">Prop·degeneracy·=·excluded-middle·+·prop·extensionality</h1> | 
| 114 | <div·class="paragraph">·</div> | 114 | <div·class="paragraph">·</div> | 
| 115 | ·i.e.········<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">True</span></span>·<span·class="inlinecode">\/</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">False</span>)</span> | 115 | ·i.e.········<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">True</span></span>·<span·class="inlinecode">\/</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">False</span>)</span> | 
| 116 | ·························<span·class="inlinecode"><-></span> | 116 | ·························<span·class="inlinecode"><-></span> | 
| 117 | ·······<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>\/~<span·class="id"·title="var">A</span>)</span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span>,</span>·<span·class="inlinecode">(<span·class="id"·title="var">A</span><-><span·class="id"·title="var">B</span>)</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">B</span>)</span> | 117 | ·······<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>\/~<span·class="id"·title="var">A</span>)</span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span>,</span>·<span·class="inlinecode">(<span·class="id"·title="var">A</span><-><span·class="id"·title="var">B</span>)</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">B</span>)</span> | 
| Offset 186, 19 lines modified | Offset 186, 19 lines modified | ||
| 186 | <span·class="id"·title="keyword">Lemma</span>·<a·id="provable_prop_ext"·class="idref"·href="#provable_prop_ext"><span·class="id"·title="lemma">provable_prop_ext</span></a>·:<br/> | 186 | <span·class="id"·title="keyword">Lemma</span>·<a·id="provable_prop_ext"·class="idref"·href="#provable_prop_ext"><span·class="id"·title="lemma">provable_prop_ext</span></a>·:<br/> | 
| 187 |   <a·class="idref"·href="Coq.Logic.ClassicalFacts.html#prop_extensionality"><span·class="id"·title="definition">prop_extensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#provable_prop_extensionality"><span·class="id"·title="definition">provable_prop_extensionality</span></a>.<br/> | 187 |   <a·class="idref"·href="Coq.Logic.ClassicalFacts.html#prop_extensionality"><span·class="id"·title="definition">prop_extensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#provable_prop_extensionality"><span·class="id"·title="definition">provable_prop_extensionality</span></a>.<br/> | 
| 188 | <br/> | 188 | <br/> | 
| 189 | </div> | 189 | </div> | 
| 190 | <div·class="doc"> | 190 | <div·class="doc"> | 
| 191 | <a·id="lab | 191 | <a·id="lab905"></a><h1·class="section">Classical·logic·and·proof-irrelevance</h1> | 
| 192 | <div·class="paragraph">·</div> | 192 | <div·class="paragraph">·</div> | 
| 193 | <a·id="lab | 193 | <a·id="lab906"></a><h2·class="section">CC·|-·prop·ext·+·A·inhabited·->·(A·=·A->A)·->·A·has·fixpoint</h2> | 
| 194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> | 
| 195 | ·We·successively·show·that: | 195 | ·We·successively·show·that: | 
| 196 | <div·class="paragraph">·</div> | 196 | <div·class="paragraph">·</div> | 
| Offset 243, 15 lines modified | Offset 243, 15 lines modified | ||
| 243 | <div·class="doc"> | 243 | <div·class="doc"> | 
| 244 | Remark:·<span·class="inlinecode"><span·class="id"·title="var">prop_extensionality</span></span>·can·be·replaced·in·lemma·<span·class="inlinecode"><span·class="id"·title="var">ext_prop_fixpoint</span></span> | 244 | Remark:·<span·class="inlinecode"><span·class="id"·title="var">prop_extensionality</span></span>·can·be·replaced·in·lemma·<span·class="inlinecode"><span·class="id"·title="var">ext_prop_fixpoint</span></span> | 
| 245 | ····by·the·weakest·property·<span·class="inlinecode"><span·class="id"·title="var">provable_prop_extensionality</span></span>. | 245 | ····by·the·weakest·property·<span·class="inlinecode"><span·class="id"·title="var">provable_prop_extensionality</span></span>. | 
| 246 | <div·class="paragraph">·</div> | 246 | <div·class="paragraph">·</div> | 
| 247 | <a·id="lab | 247 | <a·id="lab907"></a><h2·class="section">CC·|-·prop_ext·/\·dep·elim·on·bool·->·proof-irrelevance</h2> | 
| 248 | <div·class="paragraph">·</div> | 248 | <div·class="paragraph">·</div> | 
| 249 | ·<span·class="inlinecode"><span·class="id"·title="var">proof_irrelevance</span></span>·asserts·equality·of·all·proofs·of·a·given·formula· | 249 | ·<span·class="inlinecode"><span·class="id"·title="var">proof_irrelevance</span></span>·asserts·equality·of·all·proofs·of·a·given·formula· | 
| 250 | </div> | 250 | </div> | 
| 251 | <div·class="code"> | 251 | <div·class="code"> | 
| 252 | <span·class="id"·title="keyword">Definition</span>·<a·id="proof_irrelevance"·class="idref"·href="#proof_irrelevance"><span·class="id"·title="definition">proof_irrelevance</span></a>·:=·<span·class="id"·title="keyword">forall</span>·(<a·id="A:42"·class="idref"·href="#A:42"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Prop</span>)·(<a·id="a1:43"·class="idref"·href="#a1:43"><span·class="id"·title="binder">a1</span></a>·<a·id="a2:44"·class="idref"·href="#a2:44"><span·class="id"·title="binder">a2</span></a>:<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#A:42"><span·class="id"·title="variable">A</span></a>),·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#a1:43"><span·class="id"·title="variable">a1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#a2:44"><span·class="id"·title="variable">a2</span></a>.<br/> | 252 | <span·class="id"·title="keyword">Definition</span>·<a·id="proof_irrelevance"·class="idref"·href="#proof_irrelevance"><span·class="id"·title="definition">proof_irrelevance</span></a>·:=·<span·class="id"·title="keyword">forall</span>·(<a·id="A:42"·class="idref"·href="#A:42"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Prop</span>)·(<a·id="a1:43"·class="idref"·href="#a1:43"><span·class="id"·title="binder">a1</span></a>·<a·id="a2:44"·class="idref"·href="#a2:44"><span·class="id"·title="binder">a2</span></a>:<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#A:42"><span·class="id"·title="variable">A</span></a>),·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#a1:43"><span·class="id"·title="variable">a1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#a2:44"><span·class="id"·title="variable">a2</span></a>.<br/> | 
| Offset 340, 15 lines modified | Offset 340, 15 lines modified | ||
| 340 | <div·class="doc"> | 340 | <div·class="doc"> | 
| 341 | Remark:·<span·class="inlinecode"><span·class="id"·title="var">prop_extensionality</span></span>·can·be·replaced·in·lemma | 341 | Remark:·<span·class="inlinecode"><span·class="id"·title="var">prop_extensionality</span></span>·can·be·replaced·in·lemma | 
| 342 | ····<span·class="inlinecode"><span·class="id"·title="var">ext_prop_dep_proof_irrel_gen</span></span>·by·the·weakest·property | 342 | ····<span·class="inlinecode"><span·class="id"·title="var">ext_prop_dep_proof_irrel_gen</span></span>·by·the·weakest·property | 
| 343 | ····<span·class="inlinecode"><span·class="id"·title="var">provable_prop_extensionality</span></span>. | 343 | ····<span·class="inlinecode"><span·class="id"·title="var">provable_prop_extensionality</span></span>. | 
| 344 | <div·class="paragraph">·</div> | 344 | <div·class="paragraph">·</div> | 
| 345 | <a·id="lab | 345 | <a·id="lab908"></a><h2·class="section">CIC·|-·prop.·ext.·->·proof-irrelevance</h2> | 
| 346 | <div·class="paragraph">·</div> | 346 | <div·class="paragraph">·</div> | 
| 347 | ·In·the·Calculus·of·Inductive·Constructions,·inductively·defined·booleans | 347 | ·In·the·Calculus·of·Inductive·Constructions,·inductively·defined·booleans | 
| 348 | ····enjoy·dependent·case·analysis,·hence·directly·proof-irrelevance·from | 348 | ····enjoy·dependent·case·analysis,·hence·directly·proof-irrelevance·from | 
| 349 | ····propositional·extensionality. | 349 | ····propositional·extensionality. | 
| Offset 394, 15 lines modified | Offset 394, 15 lines modified | ||
| 394 | ··<span·class="inlinecode">[<span·class="id"·title="var">Berardi90</span>]</span>·Stefano·Berardi,·"Type·dependence·and·constructive | 394 | ··<span·class="inlinecode">[<span·class="id"·title="var">Berardi90</span>]</span>·Stefano·Berardi,·"Type·dependence·and·constructive | 
| 395 | ··mathematics",·Ph.·D.·thesis,·Dipartimento·Matematica,·Università·di | 395 | ··mathematics",·Ph.·D.·thesis,·Dipartimento·Matematica,·Università·di | 
| 396 | ··Torino,·1990. | 396 | ··Torino,·1990. | 
| 397 | <div·class="paragraph">·</div> | 397 | <div·class="paragraph">·</div> | 
| 398 | <a·id="lab | 398 | <a·id="lab909"></a><h2·class="section">CC·|-·excluded-middle·+·dep·elim·on·bool·->·proof-irrelevance</h2> | 
| 399 | <div·class="paragraph">·</div> | 399 | <div·class="paragraph">·</div> | 
| 400 | ·This·is·a·proof·in·the·pure·Calculus·of·Construction·that | 400 | ·This·is·a·proof·in·the·pure·Calculus·of·Construction·that | 
| 401 | ····classical·logic·in·<span·class="inlinecode"><span·class="id"·title="keyword">Prop</span></span>·+·dependent·elimination·of·disjunction·entails | 401 | ····classical·logic·in·<span·class="inlinecode"><span·class="id"·title="keyword">Prop</span></span>·+·dependent·elimination·of·disjunction·entails | 
| 402 | ····proof-irrelevance. | 402 | ····proof-irrelevance. | 
| Offset 566, 15 lines modified | Offset 566, 15 lines modified | ||
| 566 | <br/> | 566 | <br/> | 
| 567 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#Proof_irrelevance_WEM_CC"><span·class="id"·title="section">Proof_irrelevance_WEM_CC</span></a>.<br/> | 567 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#Proof_irrelevance_WEM_CC"><span·class="id"·title="section">Proof_irrelevance_WEM_CC</span></a>.<br/> | 
| 568 | <br/> | 568 | <br/> | 
| 569 | </div> | 569 | </div> | 
| 570 | <div·class="doc"> | 570 | <div·class="doc"> | 
| 571 | <a·id="lab | 571 | <a·id="lab910"></a><h2·class="section">CIC·|-·excluded-middle·->·proof-irrelevance</h2> | 
| 572 | <div·class="paragraph">·</div> | 572 | <div·class="paragraph">·</div> | 
| 573 | <div·class="paragraph">·</div> | 573 | <div·class="paragraph">·</div> | 
| 574 | ····Since,·dependent·elimination·is·derivable·in·the·Calculus·of | 574 | ····Since,·dependent·elimination·is·derivable·in·the·Calculus·of | 
| Offset 631, 15 lines modified | Offset 631, 15 lines modified | ||
| 631 | Remark:·in·the·Set-impredicative·CCI,·Hurkens'·paradox·still·holds·with | 631 | Remark:·in·the·Set-impredicative·CCI,·Hurkens'·paradox·still·holds·with | 
| 632 | ····<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·in·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>·and·since·<span·class="inlinecode">~<span·class="id"·title="var">true</span>=<span·class="id"·title="var">false</span></span>·for·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">false</span></span> | 632 | ····<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·in·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>·and·since·<span·class="inlinecode">~<span·class="id"·title="var">true</span>=<span·class="id"·title="var">false</span></span>·for·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">false</span></span> | 
| 633 | ····in·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·from·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>,·we·get·the·inconsistency·of | 633 | ····in·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·from·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>,·we·get·the·inconsistency·of | 
| 634 | ····<span·class="inlinecode"><span·class="id"·title="var">em</span></span>·<span·class="inlinecode">:</span>·<span·class="inlinecode"><span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>:<span·class="id"·title="keyword">Prop</span>,</span>·<span·class="inlinecode">{<span·class="id"·title="var">A</span>}+{~<span·class="id"·title="var">A</span>}</span>·in·the·Set-impredicative·CCI. | 634 | ····<span·class="inlinecode"><span·class="id"·title="var">em</span></span>·<span·class="inlinecode">:</span>·<span·class="inlinecode"><span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>:<span·class="id"·title="keyword">Prop</span>,</span>·<span·class="inlinecode">{<span·class="id"·title="var">A</span>}+{~<span·class="id"·title="var">A</span>}</span>·in·the·Set-impredicative·CCI. | 
| 635 | <div·class="paragraph">·</div> | 635 | <div·class="paragraph">·</div> | 
| 636 | <a·id="lab | 636 | <a·id="lab911"></a><h1·class="section">Weak·classical·axioms</h1> | 
| 637 | <div·class="paragraph">·</div> | 637 | <div·class="paragraph">·</div> | 
| 638 | ·We·show·the·following·increasing·in·the·strength·of·axioms: | 638 | ·We·show·the·following·increasing·in·the·strength·of·axioms: | 
| 639 | <ul·class="doclist"> | 639 | <ul·class="doclist"> | 
| 640 | <li>·weak·excluded-middle·and·classical·De·Morgan's·law | 640 | <li>·weak·excluded-middle·and·classical·De·Morgan's·law | 
| Offset 653, 15 lines modified | Offset 653, 15 lines modified | ||
| 653 | <li>·excluded-middle | 653 | <li>·excluded-middle | 
| 654 | </li> | 654 | </li> | 
| 655 | </ul> | 655 | </ul> | 
| 656 | <div·class="paragraph">·</div> | 656 | <div·class="paragraph">·</div> | 
| 657 | <a·id="lab | 657 | <a·id="lab912"></a><h2·class="section">Weak·excluded-middle</h2> | 
| 658 | <div·class="paragraph">·</div> | 658 | <div·class="paragraph">·</div> | 
| Max diff block lines reached; 6087/15012 bytes (40.55%) of diff not shown. | |||
| Offset 104, 15 lines modified | Offset 104, 15 lines modified | ||
| 104 | <div·class="code"> | 104 | <div·class="code"> | 
| 105 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#"><span·class="id"·title="library">ClassicalFacts</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#"><span·class="id"·title="library">ChoiceFacts</span></a>.<br/> | 105 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#"><span·class="id"·title="library">ClassicalFacts</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#"><span·class="id"·title="library">ChoiceFacts</span></a>.<br/> | 
| 106 | <br/> | 106 | <br/> | 
| 107 | </div> | 107 | </div> | 
| 108 | <div·class="doc"> | 108 | <div·class="doc"> | 
| 109 | <a·id="lab | 109 | <a·id="lab918"></a><h1·class="section">Pred.·Ext.·+·Rel.·Axiom·of·Choice·->·Excluded-Middle</h1> | 
| 110 | </div> | 110 | </div> | 
| 111 | <div·class="code"> | 111 | <div·class="code"> | 
| 112 | <br/> | 112 | <br/> | 
| 113 | <span·class="id"·title="keyword">Section</span>·<a·id="PredExt_RelChoice_imp_EM"·class="idref"·href="#PredExt_RelChoice_imp_EM"><span·class="id"·title="section">PredExt_RelChoice_imp_EM</span></a>.<br/> | 113 | <span·class="id"·title="keyword">Section</span>·<a·id="PredExt_RelChoice_imp_EM"·class="idref"·href="#PredExt_RelChoice_imp_EM"><span·class="id"·title="section">PredExt_RelChoice_imp_EM</span></a>.<br/> | 
| Offset 200, 15 lines modified | Offset 200, 15 lines modified | ||
| 200 | <br/> | 200 | <br/> | 
| 201 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Diaconescu.html#PredExt_RelChoice_imp_EM"><span·class="id"·title="section">PredExt_RelChoice_imp_EM</span></a>.<br/> | 201 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Diaconescu.html#PredExt_RelChoice_imp_EM"><span·class="id"·title="section">PredExt_RelChoice_imp_EM</span></a>.<br/> | 
| 202 | <br/> | 202 | <br/> | 
| 203 | </div> | 203 | </div> | 
| 204 | <div·class="doc"> | 204 | <div·class="doc"> | 
| 205 | <a·id="lab | 205 | <a·id="lab919"></a><h1·class="section">Proof-Irrel.·+·Rel.·Axiom·of·Choice·->·Excl.-Middle·for·Equality</h1> | 
| 206 | <div·class="paragraph">·</div> | 206 | <div·class="paragraph">·</div> | 
| 207 | ·This·is·an·adaptation·of·Diaconescu's·theorem,·exploiting·the | 207 | ·This·is·an·adaptation·of·Diaconescu's·theorem,·exploiting·the | 
| 208 | ····form·of·extensionality·provided·by·proof-irrelevance· | 208 | ····form·of·extensionality·provided·by·proof-irrelevance· | 
| 209 | </div> | 209 | </div> | 
| 210 | <div·class="code"> | 210 | <div·class="code"> | 
| Offset 307, 15 lines modified | Offset 307, 15 lines modified | ||
| 307 | <br/> | 307 | <br/> | 
| 308 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Diaconescu.html#ProofIrrel_RelChoice_imp_EqEM"><span·class="id"·title="section">ProofIrrel_RelChoice_imp_EqEM</span></a>.<br/> | 308 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Diaconescu.html#ProofIrrel_RelChoice_imp_EqEM"><span·class="id"·title="section">ProofIrrel_RelChoice_imp_EqEM</span></a>.<br/> | 
| 309 | <br/> | 309 | <br/> | 
| 310 | </div> | 310 | </div> | 
| 311 | <div·class="doc"> | 311 | <div·class="doc"> | 
| 312 | <a·id="lab | 312 | <a·id="lab920"></a><h1·class="section">Extensional·Hilbert's·epsilon·description·operator·->·Excluded-Middle</h1> | 
| 313 | <div·class="paragraph">·</div> | 313 | <div·class="paragraph">·</div> | 
| 314 | ·Proof·sketch·from·Bell·<span·class="inlinecode">[<span·class="id"·title="var">Bell93</span>]</span>·(with·thanks·to·P.·Castéran)· | 314 | ·Proof·sketch·from·Bell·<span·class="inlinecode">[<span·class="id"·title="var">Bell93</span>]</span>·(with·thanks·to·P.·Castéran)· | 
| 315 | </div> | 315 | </div> | 
| 316 | <div·class="code"> | 316 | <div·class="code"> | 
| Offset 112, 15 lines modified | Offset 112, 15 lines modified | ||
| 112 | ···equalities·assuming·axiom·eq_rect_eq | 112 | ···equalities·assuming·axiom·eq_rect_eq | 
| 113 | <div·class="paragraph">·</div> | 113 | <div·class="paragraph">·</div> | 
| 114 | <div·class="paragraph">·</div> | 114 | <div·class="paragraph">·</div> | 
| 115 | <a·id="lab | 115 | <a·id="lab889"></a><h1·class="section">Definition·of·dependent·equality·and·equivalence·with·equality·of·dependent·pairs</h1> | 
| 116 | </div> | 116 | </div> | 
| 117 | <div·class="code"> | 117 | <div·class="code"> | 
| 118 | <br/> | 118 | <br/> | 
| 119 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#EqNotations"><span·class="id"·title="module">EqNotations</span></a>.<br/> | 119 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#EqNotations"><span·class="id"·title="module">EqNotations</span></a>.<br/> | 
| Offset 280, 15 lines modified | Offset 280, 15 lines modified | ||
| 280 | #[<span·class="id"·title="var">global</span>]<br/> | 280 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 281 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">eq_dep_sym</span>:·<span·class="id"·title="var">core</span>.<br/> | 281 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">eq_dep_sym</span>:·<span·class="id"·title="var">core</span>.<br/> | 
| 282 | <br/> | 282 | <br/> | 
| 283 | </div> | 283 | </div> | 
| 284 | <div·class="doc"> | 284 | <div·class="doc"> | 
| 285 | <a·id="lab | 285 | <a·id="lab890"></a><h1·class="section">Eq_rect_eq·<->·Eq_dep_eq·<->·UIP·<->·UIP_refl·<->·K</h1> | 
| 286 | </div> | 286 | </div> | 
| 287 | <div·class="code"> | 287 | <div·class="code"> | 
| 288 | <br/> | 288 | <br/> | 
| 289 | <span·class="id"·title="keyword">Section</span>·<a·id="Equivalences"·class="idref"·href="#Equivalences"><span·class="id"·title="section">Equivalences</span></a>.<br/> | 289 | <span·class="id"·title="keyword">Section</span>·<a·id="Equivalences"·class="idref"·href="#Equivalences"><span·class="id"·title="section">Equivalences</span></a>.<br/> | 
| Offset 506, 15 lines modified | Offset 506, 15 lines modified | ||
| 506 | <span·class="id"·title="keyword">Notation</span>·<a·id="Inj_dep_pairT"·class="idref"·href="#Inj_dep_pairT"><span·class="id"·title="abbreviation">Inj_dep_pairT</span></a>·:=·<a·class="idref"·href="Coq.Logic.EqdepFacts.html#Inj_dep_pair"><span·class="id"·title="definition">Inj_dep_pair</span></a>.<br/> | 506 | <span·class="id"·title="keyword">Notation</span>·<a·id="Inj_dep_pairT"·class="idref"·href="#Inj_dep_pairT"><span·class="id"·title="abbreviation">Inj_dep_pairT</span></a>·:=·<a·class="idref"·href="Coq.Logic.EqdepFacts.html#Inj_dep_pair"><span·class="id"·title="definition">Inj_dep_pair</span></a>.<br/> | 
| 507 | <span·class="id"·title="keyword">Notation</span>·<a·id="eq_dep_eq__inj_pairT2"·class="idref"·href="#eq_dep_eq__inj_pairT2"><span·class="id"·title="abbreviation">eq_dep_eq__inj_pairT2</span></a>·:=·<a·class="idref"·href="Coq.Logic.EqdepFacts.html#eq_dep_eq__inj_pair2"><span·class="id"·title="lemma">eq_dep_eq__inj_pair2</span></a>.<br/> | 507 | <span·class="id"·title="keyword">Notation</span>·<a·id="eq_dep_eq__inj_pairT2"·class="idref"·href="#eq_dep_eq__inj_pairT2"><span·class="id"·title="abbreviation">eq_dep_eq__inj_pairT2</span></a>·:=·<a·class="idref"·href="Coq.Logic.EqdepFacts.html#eq_dep_eq__inj_pair2"><span·class="id"·title="lemma">eq_dep_eq__inj_pair2</span></a>.<br/> | 
| 508 | <br/> | 508 | <br/> | 
| 509 | </div> | 509 | </div> | 
| 510 | <div·class="doc"> | 510 | <div·class="doc"> | 
| 511 | <a·id="lab | 511 | <a·id="lab891"></a><h1·class="section">Definition·of·the·functor·that·builds·properties·of·dependent·equalities·assuming·axiom·eq_rect_eq</h1> | 
| 512 | </div> | 512 | </div> | 
| 513 | <div·class="code"> | 513 | <div·class="code"> | 
| 514 | <br/> | 514 | <br/> | 
| 515 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="EqdepElimination"·class="idref"·href="#EqdepElimination"><span·class="id"·title="module">EqdepElimination</span></a>.<br/> | 515 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="EqdepElimination"·class="idref"·href="#EqdepElimination"><span·class="id"·title="module">EqdepElimination</span></a>.<br/> | 
| Offset 84, 15 lines modified | Offset 84, 15 lines modified | ||
| 84 | ·····from·a·proof·of·decidability·of·equality·for·a·set·in·Set | 84 | ·····from·a·proof·of·decidability·of·equality·for·a·set·in·Set | 
| 85 | <div·class="paragraph">·</div> | 85 | <div·class="paragraph">·</div> | 
| 86 | <div·class="paragraph">·</div> | 86 | <div·class="paragraph">·</div> | 
| 87 | <a·id="lab | 87 | <a·id="lab897"></a><h1·class="section">Streicher's·K·and·injectivity·of·dependent·pair·hold·on·decidable·types</h1> | 
| 88 | </div> | 88 | </div> | 
| 89 | <div·class="code"> | 89 | <div·class="code"> | 
| 90 | <br/> | 90 | <br/> | 
| 91 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 91 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| Offset 245, 15 lines modified | Offset 245, 15 lines modified | ||
| 245 | <br/> | 245 | <br/> | 
| 246 | <span·class="id"·title="keyword">Unset·Implicit·Arguments</span>.<br/> | 246 | <span·class="id"·title="keyword">Unset·Implicit·Arguments</span>.<br/> | 
| 247 | <br/> | 247 | <br/> | 
| 248 | </div> | 248 | </div> | 
| 249 | <div·class="doc"> | 249 | <div·class="doc"> | 
| 250 | <a·id="lab | 250 | <a·id="lab898"></a><h2·class="section">Definition·of·the·functor·that·builds·properties·of·dependent·equalities·on·decidable·sets·in·Type</h2> | 
| 251 | <div·class="paragraph">·</div> | 251 | <div·class="paragraph">·</div> | 
| 252 | ·The·signature·of·decidable·sets·in·<span·class="inlinecode"><span·class="id"·title="keyword">Type</span></span>· | 252 | ·The·signature·of·decidable·sets·in·<span·class="inlinecode"><span·class="id"·title="keyword">Type</span></span>· | 
| 253 | </div> | 253 | </div> | 
| 254 | <div·class="code"> | 254 | <div·class="code"> | 
| Offset 369, 15 lines modified | Offset 369, 15 lines modified | ||
| 369 | <br/> | 369 | <br/> | 
| 370 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Eqdep_dec.html#DecidableEqDep"><span·class="id"·title="module">DecidableEqDep</span></a>.<br/> | 370 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Eqdep_dec.html#DecidableEqDep"><span·class="id"·title="module">DecidableEqDep</span></a>.<br/> | 
| 371 | <br/> | 371 | <br/> | 
| 372 | </div> | 372 | </div> | 
| 373 | <div·class="doc"> | 373 | <div·class="doc"> | 
| 374 | <a·id="lab | 374 | <a·id="lab899"></a><h2·class="section">Definition·of·the·functor·that·builds·properties·of·dependent·equalities·on·decidable·sets·in·Set</h2> | 
| 375 | <div·class="paragraph">·</div> | 375 | <div·class="paragraph">·</div> | 
| 376 | ·The·signature·of·decidable·sets·in·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>· | 376 | ·The·signature·of·decidable·sets·in·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>· | 
| 377 | </div> | 377 | </div> | 
| 378 | <div·class="code"> | 378 | <div·class="code"> | 
| Offset 101, 15 lines modified | Offset 101, 15 lines modified | ||
| 101 | <br/> | 101 | <br/> | 
| 102 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 102 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 103 | <br/> | 103 | <br/> | 
| 104 | </div> | 104 | </div> | 
| 105 | <div·class="doc"> | 105 | <div·class="doc"> | 
| 106 | <a·id="lab | 106 | <a·id="lab900"></a><h1·class="section">Definitions</h1> | 
| 107 | <div·class="paragraph">·</div> | 107 | <div·class="paragraph">·</div> | 
| 108 | ·Being·an·inverse· | 108 | ·Being·an·inverse· | 
| 109 | </div> | 109 | </div> | 
| 110 | <div·class="code"> | 110 | <div·class="code"> | 
| Offset 193, 27 lines modified | Offset 193, 27 lines modified | ||
| 193 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="BijectivityBijectiveComp"·class="idref"·href="#BijectivityBijectiveComp"><span·class="id"·title="abbreviation">BijectivityBijectiveComp</span></a>·:=·(<span·class="id"·title="keyword">forall</span>·<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a>·<a·id="B:36"·class="idref"·href="#B:36"><span·class="id"·title="binder">B</span></a>·<a·id="C:37"·class="idref"·href="#C:37"><span·class="id"·title="binder">C</span></a>·(<a·id="f:38"·class="idref"·href="#f:38"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#A:35"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#B:36"><span·class="id"·title="variable">B</span></a>)·<a·id="g:39"·class="idref"·href="#g:39"><span·class="id"·title="binder">g</span></a>,<br/> | 193 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="BijectivityBijectiveComp"·class="idref"·href="#BijectivityBijectiveComp"><span·class="id"·title="abbreviation">BijectivityBijectiveComp</span></a>·:=·(<span·class="id"·title="keyword">forall</span>·<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a>·<a·id="B:36"·class="idref"·href="#B:36"><span·class="id"·title="binder">B</span></a>·<a·id="C:37"·class="idref"·href="#C:37"><span·class="id"·title="binder">C</span></a>·(<a·id="f:38"·class="idref"·href="#f:38"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#A:35"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#B:36"><span·class="id"·title="variable">B</span></a>)·<a·id="g:39"·class="idref"·href="#g:39"><span·class="id"·title="binder">g</span></a>,<br/> | 
| 194 |   <a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#is_inverse"><span·class="id"·title="definition">is_inverse</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#f:38"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#g:39"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#is_inverse"><span·class="id"·title="definition">is_inverse</span></a>·(<span·class="id"·title="var">A</span>:=<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#B:36"><span·class="id"·title="variable">B</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#C:37"><span·class="id"·title="variable">C</span></a>)·(<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#action"><span·class="id"·title="definition">action</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#f:38"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#action"><span·class="id"·title="definition">action</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#g:39"><span·class="id"·title="variable">g</span></a>)).<br/> | 194 |   <a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#is_inverse"><span·class="id"·title="definition">is_inverse</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#f:38"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#g:39"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#is_inverse"><span·class="id"·title="definition">is_inverse</span></a>·(<span·class="id"·title="var">A</span>:=<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#B:36"><span·class="id"·title="variable">B</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#C:37"><span·class="id"·title="variable">C</span></a>)·(<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#action"><span·class="id"·title="definition">action</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#f:38"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#action"><span·class="id"·title="definition">action</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#g:39"><span·class="id"·title="variable">g</span></a>)).<br/> | 
| 195 | <br/> | 195 | <br/> | 
| 196 | </div> | 196 | </div> | 
| 197 | <div·class="doc"> | 197 | <div·class="doc"> | 
| 198 | <a·id="lab | 198 | <a·id="lab901"></a><h1·class="section">Functional·extensionality·<->·Equality·of·projections·from·diagonal</h1> | 
| 199 | </div> | 199 | </div> | 
| 200 | <div·class="code"> | 200 | <div·class="code"> | 
| 201 | <br/> | 201 | <br/> | 
| 202 | <span·class="id"·title="keyword">Theorem</span>·<a·id="FunctExt_iff_EqDeltaProjs"·class="idref"·href="#FunctExt_iff_EqDeltaProjs"><span·class="id"·title="lemma">FunctExt_iff_EqDeltaProjs</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#EqDeltaProjs"><span·class="id"·title="abbreviation">EqDeltaProjs</span></a>.<br/> | 202 | <span·class="id"·title="keyword">Theorem</span>·<a·id="FunctExt_iff_EqDeltaProjs"·class="idref"·href="#FunctExt_iff_EqDeltaProjs"><span·class="id"·title="lemma">FunctExt_iff_EqDeltaProjs</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#EqDeltaProjs"><span·class="id"·title="abbreviation">EqDeltaProjs</span></a>.<br/> | 
| 203 | <br/> | 203 | <br/> | 
| 204 | </div> | 204 | </div> | 
| 205 | <div·class="doc"> | 205 | <div·class="doc"> | 
| 206 | <a·id="lab | 206 | <a·id="lab902"></a><h1·class="section">Functional·extensionality·<->·Unicity·of·bijection·inverse</h1> | 
| 207 | </div> | 207 | </div> | 
| 208 | <div·class="code"> | 208 | <div·class="code"> | 
| 209 | <br/> | 209 | <br/> | 
| 210 | <span·class="id"·title="keyword">Lemma</span>·<a·id="FunctExt_UniqInverse"·class="idref"·href="#FunctExt_UniqInverse"><span·class="id"·title="lemma">FunctExt_UniqInverse</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#UniqueInverse"><span·class="id"·title="abbreviation">UniqueInverse</span></a>.<br/> | 210 | <span·class="id"·title="keyword">Lemma</span>·<a·id="FunctExt_UniqInverse"·class="idref"·href="#FunctExt_UniqInverse"><span·class="id"·title="lemma">FunctExt_UniqInverse</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#UniqueInverse"><span·class="id"·title="abbreviation">UniqueInverse</span></a>.<br/> | 
| Offset 223, 15 lines modified | Offset 223, 15 lines modified | ||
| 223 | <br/> | 223 | <br/> | 
| 224 | <span·class="id"·title="keyword">Theorem</span>·<a·id="FunctExt_iff_UniqInverse"·class="idref"·href="#FunctExt_iff_UniqInverse"><span·class="id"·title="lemma">FunctExt_iff_UniqInverse</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#UniqueInverse"><span·class="id"·title="abbreviation">UniqueInverse</span></a>.<br/> | 224 | <span·class="id"·title="keyword">Theorem</span>·<a·id="FunctExt_iff_UniqInverse"·class="idref"·href="#FunctExt_iff_UniqInverse"><span·class="id"·title="lemma">FunctExt_iff_UniqInverse</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#UniqueInverse"><span·class="id"·title="abbreviation">UniqueInverse</span></a>.<br/> | 
| 225 | <br/> | 225 | <br/> | 
| 226 | </div> | 226 | </div> | 
| 227 | <div·class="doc"> | 227 | <div·class="doc"> | 
| 228 | <a·id="lab | 228 | <a·id="lab903"></a><h1·class="section">Functional·extensionality·<->·Bijectivity·of·bijective·composition</h1> | 
| 229 | </div> | 229 | </div> | 
| 230 | <div·class="code"> | 230 | <div·class="code"> | 
| 231 | <br/> | 231 | <br/> | 
| 232 | <span·class="id"·title="keyword">Lemma</span>·<a·id="FunctExt_BijComp"·class="idref"·href="#FunctExt_BijComp"><span·class="id"·title="lemma">FunctExt_BijComp</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#BijectivityBijectiveComp"><span·class="id"·title="abbreviation">BijectivityBijectiveComp</span></a>.<br/> | 232 | <span·class="id"·title="keyword">Lemma</span>·<a·id="FunctExt_BijComp"·class="idref"·href="#FunctExt_BijComp"><span·class="id"·title="lemma">FunctExt_BijComp</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#BijectivityBijectiveComp"><span·class="id"·title="abbreviation">BijectivityBijectiveComp</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab959"></a><h1·class="section">Functions·on·finite·domains</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·Main·result·:·for·functions·<span·class="inlinecode"><span·class="id"·title="var">f</span>:<span·class="id"·title="var">A</span>-><span·class="id"·title="var">A</span></span>·with·finite·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>, | 51 | ·Main·result·:·for·functions·<span·class="inlinecode"><span·class="id"·title="var">f</span>:<span·class="id"·title="var">A</span>-><span·class="id"·title="var">A</span></span>·with·finite·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>, | 
| 52 | ····f·injective·<->·f·bijective·<->·f·surjective.· | 52 | ····f·injective·<->·f·bijective·<->·f·surjective.· | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="code"> | 54 | <div·class="code"> | 
| Offset 172, 15 lines modified | Offset 172, 15 lines modified | ||
| 172 | <br/> | 172 | <br/> | 
| 173 | <br/> | 173 | <br/> | 
| 174 | </div> | 174 | </div> | 
| 175 | <div·class="doc"> | 175 | <div·class="doc"> | 
| 176 | <a·id="lab | 176 | <a·id="lab921"></a><h1·class="section">A·modular·proof·of·Hurkens's·paradox.</h1> | 
| 177 | <div·class="paragraph">·</div> | 177 | <div·class="paragraph">·</div> | 
| 178 | ·It·relies·on·an·axiomatisation·of·a·shallow·embedding·of·system·U- | 178 | ·It·relies·on·an·axiomatisation·of·a·shallow·embedding·of·system·U- | 
| 179 | ····(i.e.··types·of·U-·are·interpreted·by·types·of·Coq).·The | 179 | ····(i.e.··types·of·U-·are·interpreted·by·types·of·Coq).·The | 
| 180 | ····universes·are·encoded·in·a·style,·due·to·Martin-Löf,·where·they | 180 | ····universes·are·encoded·in·a·style,·due·to·Martin-Löf,·where·they | 
| 181 | ····are·given·by·a·set·of·names·and·a·family·<span·class="inlinecode"><span·class="id"·title="var">El</span>:<span·class="id"·title="var">Name</span>-><span·class="id"·title="keyword">Type</span></span>·which | 181 | ····are·given·by·a·set·of·names·and·a·family·<span·class="inlinecode"><span·class="id"·title="var">El</span>:<span·class="id"·title="var">Name</span>-><span·class="id"·title="keyword">Type</span></span>·which | 
| Offset 199, 35 lines modified | Offset 199, 35 lines modified | ||
| 199 | <br/> | 199 | <br/> | 
| 200 | <span·class="id"·title="keyword">Section</span>·<a·id="Generic.Paradox"·class="idref"·href="#Generic.Paradox"><span·class="id"·title="section">Paradox</span></a>.<br/> | 200 | <span·class="id"·title="keyword">Section</span>·<a·id="Generic.Paradox"·class="idref"·href="#Generic.Paradox"><span·class="id"·title="section">Paradox</span></a>.<br/> | 
| 201 | <br/> | 201 | <br/> | 
| 202 | </div> | 202 | </div> | 
| 203 | <div·class="doc"> | 203 | <div·class="doc"> | 
| 204 | <a·id="lab | 204 | <a·id="lab922"></a><h2·class="section">Axiomatisation·of·impredicative·universes·in·a·Martin-Löf·style</h2> | 
| 205 | <div·class="paragraph">·</div> | 205 | <div·class="paragraph">·</div> | 
| 206 | ·System·U-·has·two·impredicative·universes.·In·the·proof·of·the | 206 | ·System·U-·has·two·impredicative·universes.·In·the·proof·of·the | 
| 207 | ····paradox·they·are·slightly·asymmetric·(in·particular·the·reduction | 207 | ····paradox·they·are·slightly·asymmetric·(in·particular·the·reduction | 
| 208 | ····rules·of·the·small·universe·are·not·needed).··Therefore,·the | 208 | ····rules·of·the·small·universe·are·not·needed).··Therefore,·the | 
| 209 | ····axioms·are·duplicated·allowing·for·a·weaker·requirement·than·the | 209 | ····axioms·are·duplicated·allowing·for·a·weaker·requirement·than·the | 
| 210 | ····actual·system·U-.· | 210 | ····actual·system·U-.· | 
| 211 | <div·class="paragraph">·</div> | 211 | <div·class="paragraph">·</div> | 
| 212 | <a·id="lab | 212 | <a·id="lab923"></a><h3·class="section">Large·universe</h3> | 
| 213 | </div> | 213 | </div> | 
| 214 | <div·class="code"> | 214 | <div·class="code"> | 
| 215 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.U1"·class="idref"·href="#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 215 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.U1"·class="idref"·href="#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| 216 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.El1"·class="idref"·href="#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Type</span>.<br/> | 216 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.El1"·class="idref"·href="#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Type</span>.<br/> | 
| 217 | </div> | 217 | </div> | 
| 218 | <div·class="doc"> | 218 | <div·class="doc"> | 
| 219 | <a·id="lab | 219 | <a·id="lab924"></a><h4·class="section">Closure·by·small·product</h4> | 
| 220 | </div> | 220 | </div> | 
| 221 | <div·class="code"> | 221 | <div·class="code"> | 
| 222 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.Forall1"·class="idref"·href="#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:5"·class="idref"·href="#u:5"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:5"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> | 222 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.Forall1"·class="idref"·href="#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:5"·class="idref"·href="#u:5"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:5"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> | 
| 223 |   <span·class="id"·title="keyword">Notation</span>·<a·id="93c66a444a4bbdfa4bfdf9ff6835b3ee"·class="idref"·href="#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">"</span></a>'∀₁'·x·:·A·,·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">B</span>)).<br/> | 223 |   <span·class="id"·title="keyword">Notation</span>·<a·id="93c66a444a4bbdfa4bfdf9ff6835b3ee"·class="idref"·href="#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">"</span></a>'∀₁'·x·:·A·,·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">B</span>)).<br/> | 
| 224 |   <span·class="id"·title="keyword">Notation</span>·<a·id="694e2d3c08fe40b872fc5ba207ec04f2"·class="idref"·href="#694e2d3c08fe40b872fc5ba207ec04f2"><span·class="id"·title="notation">"</span></a>A·'⟶₁'·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">B</span>)).<br/> | 224 |   <span·class="id"·title="keyword">Notation</span>·<a·id="694e2d3c08fe40b872fc5ba207ec04f2"·class="idref"·href="#694e2d3c08fe40b872fc5ba207ec04f2"><span·class="id"·title="notation">"</span></a>A·'⟶₁'·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">B</span>)).<br/> | 
| 225 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lam1"·class="idref"·href="#Generic.Paradox.lam1"><span·class="id"·title="variable">lam1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:9"·class="idref"·href="#u:9"><span·class="id"·title="binder">u</span></a>·<a·id="B:10"·class="idref"·href="#B:10"><span·class="id"·title="binder">B</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:9"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:10"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:11"><span·class="id"·title="variable">x</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">₁</span></a>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#u:9"><span·class="id"·title="variable">u</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:10"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:12"><span·class="id"·title="variable">x</span></a>).<br/> | 225 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lam1"·class="idref"·href="#Generic.Paradox.lam1"><span·class="id"·title="variable">lam1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:9"·class="idref"·href="#u:9"><span·class="id"·title="binder">u</span></a>·<a·id="B:10"·class="idref"·href="#B:10"><span·class="id"·title="binder">B</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:9"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:10"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:11"><span·class="id"·title="variable">x</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">₁</span></a>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#u:9"><span·class="id"·title="variable">u</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:10"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:12"><span·class="id"·title="variable">x</span></a>).<br/> | 
| Offset 235, 15 lines modified | Offset 235, 15 lines modified | ||
| 235 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.app1"·class="idref"·href="#Generic.Paradox.app1"><span·class="id"·title="variable">app1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:16"·class="idref"·href="#u:16"><span·class="id"·title="binder">u</span></a>·<a·id="B:17"·class="idref"·href="#B:17"><span·class="id"·title="binder">B</span></a>·(<a·id="f:18"·class="idref"·href="#f:18"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:16"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:17"><span·class="id"·title="variable">B</span></a>))·(<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:16"><span·class="id"·title="variable">u</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:17"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:19"><span·class="id"·title="variable">x</span></a>).<br/> | 235 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.app1"·class="idref"·href="#Generic.Paradox.app1"><span·class="id"·title="variable">app1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:16"·class="idref"·href="#u:16"><span·class="id"·title="binder">u</span></a>·<a·id="B:17"·class="idref"·href="#B:17"><span·class="id"·title="binder">B</span></a>·(<a·id="f:18"·class="idref"·href="#f:18"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:16"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:17"><span·class="id"·title="variable">B</span></a>))·(<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:16"><span·class="id"·title="variable">u</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:17"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:19"><span·class="id"·title="variable">x</span></a>).<br/> | 
| 236 |   <span·class="id"·title="keyword">Notation</span>·<a·id="024a937772caef38e05651e49f018fc6"·class="idref"·href="#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">"</span></a>f·'·₁'·x"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.app1"><span·class="id"·title="variable">app1</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>).<br/> | 236 |   <span·class="id"·title="keyword">Notation</span>·<a·id="024a937772caef38e05651e49f018fc6"·class="idref"·href="#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">"</span></a>f·'·₁'·x"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.app1"><span·class="id"·title="variable">app1</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>).<br/> | 
| 237 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.beta1"·class="idref"·href="#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:22"·class="idref"·href="#u:22"><span·class="id"·title="binder">u</span></a>·<a·id="B:23"·class="idref"·href="#B:23"><span·class="id"·title="binder">B</span></a>·(<a·id="f:25"·class="idref"·href="#f:25"><span·class="id"·title="binder">f</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="x:24"·class="idref"·href="#x:24"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:22"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:23"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:24"><span·class="id"·title="variable">x</span></a>))·<a·id="x:26"·class="idref"·href="#x:26"><span·class="id"·title="binder">x</span></a>,<br/> | 237 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.beta1"·class="idref"·href="#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:22"·class="idref"·href="#u:22"><span·class="id"·title="binder">u</span></a>·<a·id="B:23"·class="idref"·href="#B:23"><span·class="id"·title="binder">B</span></a>·(<a·id="f:25"·class="idref"·href="#f:25"><span·class="id"·title="binder">f</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="x:24"·class="idref"·href="#x:24"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:22"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:23"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:24"><span·class="id"·title="variable">x</span></a>))·<a·id="x:26"·class="idref"·href="#x:26"><span·class="id"·title="binder">x</span></a>,<br/> | 
| 238 |                    <a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#1470a9e924e895d0953e36fa53fcb88a"><span·class="id"·title="notation">λ₁</span></a>·<a·id="y:27"·class="idref"·href="#y:27"><span·class="id"·title="binder">y</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#1470a9e924e895d0953e36fa53fcb88a"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:25"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#y:27"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">·</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">₁</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:26"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:25"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:26"><span·class="id"·title="variable">x</span></a>.<br/> | 238 |                    <a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#1470a9e924e895d0953e36fa53fcb88a"><span·class="id"·title="notation">λ₁</span></a>·<a·id="y:27"·class="idref"·href="#y:27"><span·class="id"·title="binder">y</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#1470a9e924e895d0953e36fa53fcb88a"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:25"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#y:27"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">·</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">₁</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:26"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:25"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:26"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 239 | </div> | 239 | </div> | 
| 240 | <div·class="doc"> | 240 | <div·class="doc"> | 
| 241 | <a·id="lab | 241 | <a·id="lab925"></a><h4·class="section">Closure·by·large·products</h4> | 
| 242 | ·<span·class="inlinecode"><span·class="id"·title="var">U1</span></span>·only·needs·to·quantify·over·itself.· | 242 | ·<span·class="inlinecode"><span·class="id"·title="var">U1</span></span>·only·needs·to·quantify·over·itself.· | 
| 243 | </div> | 243 | </div> | 
| 244 | <div·class="code"> | 244 | <div·class="code"> | 
| 245 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.ForallU1"·class="idref"·href="#Generic.Paradox.ForallU1"><span·class="id"·title="variable">ForallU1</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> | 245 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.ForallU1"·class="idref"·href="#Generic.Paradox.ForallU1"><span·class="id"·title="variable">ForallU1</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> | 
| 246 |   <span·class="id"·title="keyword">Notation</span>·<a·id="4dd2340270f7207a425b5b7588908785"·class="idref"·href="#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">"</span></a>'∀₂'·A·,·F"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.ForallU1"><span·class="id"·title="variable">ForallU1</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="A:32"·class="idref"·href="#A:32"><span·class="id"·title="binder">A</span></a>·=>·<span·class="id"·title="var">F</span>)).<br/> | 246 |   <span·class="id"·title="keyword">Notation</span>·<a·id="4dd2340270f7207a425b5b7588908785"·class="idref"·href="#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">"</span></a>'∀₂'·A·,·F"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.ForallU1"><span·class="id"·title="variable">ForallU1</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="A:32"·class="idref"·href="#A:32"><span·class="id"·title="binder">A</span></a>·=>·<span·class="id"·title="var">F</span>)).<br/> | 
| 247 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lamU1"·class="idref"·href="#Generic.Paradox.lamU1"><span·class="id"·title="variable">lamU1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="F:33"·class="idref"·href="#F:33"><span·class="id"·title="binder">F</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="A:34"·class="idref"·href="#A:34"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:33"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:34"><span·class="id"·title="variable">A</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">₂</span></a>·<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#F:33"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:35"><span·class="id"·title="variable">A</span></a>).<br/> | 247 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lamU1"·class="idref"·href="#Generic.Paradox.lamU1"><span·class="id"·title="variable">lamU1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="F:33"·class="idref"·href="#F:33"><span·class="id"·title="binder">F</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="A:34"·class="idref"·href="#A:34"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:33"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:34"><span·class="id"·title="variable">A</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">₂</span></a>·<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#F:33"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:35"><span·class="id"·title="variable">A</span></a>).<br/> | 
| 248 |   <span·class="id"·title="keyword">Notation</span>·<a·id="89360f8d6d2f11f4115655ddeef6a69a"·class="idref"·href="#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">"</span></a>'λ₂'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lamU1"><span·class="id"·title="variable">lamU1</span></a>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:38"·class="idref"·href="#x:38"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> | 248 |   <span·class="id"·title="keyword">Notation</span>·<a·id="89360f8d6d2f11f4115655ddeef6a69a"·class="idref"·href="#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">"</span></a>'λ₂'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lamU1"><span·class="id"·title="variable">lamU1</span></a>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:38"·class="idref"·href="#x:38"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> | 
| Offset 252, 54 lines modified | Offset 252, 54 lines modified | ||
| 252 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.betaU1"·class="idref"·href="#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="F:45"·class="idref"·href="#F:45"><span·class="id"·title="binder">F</span></a>·(<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="A:46"·class="idref"·href="#A:46"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:45"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:46"><span·class="id"·title="variable">A</span></a>))·<a·id="A:48"·class="idref"·href="#A:48"><span·class="id"·title="binder">A</span></a>,<br/> | 252 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.betaU1"·class="idref"·href="#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="F:45"·class="idref"·href="#F:45"><span·class="id"·title="binder">F</span></a>·(<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="A:46"·class="idref"·href="#A:46"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:45"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:46"><span·class="id"·title="variable">A</span></a>))·<a·id="A:48"·class="idref"·href="#A:48"><span·class="id"·title="binder">A</span></a>,<br/> | 
| 253 |                     <a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">λ₂</span></a>·<a·id="x:49"·class="idref"·href="#x:49"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:49"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">·</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">₁</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">[</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:48"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:48"><span·class="id"·title="variable">A</span></a>.<br/> | 253 |                     <a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">λ₂</span></a>·<a·id="x:49"·class="idref"·href="#x:49"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:49"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">·</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">₁</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">[</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:48"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:48"><span·class="id"·title="variable">A</span></a>.<br/> | 
| 254 | <br/> | 254 | <br/> | 
| 255 | </div> | 255 | </div> | 
| 256 | <div·class="doc"> | 256 | <div·class="doc"> | 
| 257 | <a·id="lab | 257 | <a·id="lab926"></a><h3·class="section">Small·universe</h3> | 
| 258 | ·The·small·universe·is·an·element·of·the·large·one.· | 258 | ·The·small·universe·is·an·element·of·the·large·one.· | 
| 259 | </div> | 259 | </div> | 
| 260 | <div·class="code"> | 260 | <div·class="code"> | 
| 261 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.u0"·class="idref"·href="#Generic.Paradox.u0"><span·class="id"·title="variable">u0</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> | 261 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.u0"·class="idref"·href="#Generic.Paradox.u0"><span·class="id"·title="variable">u0</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> | 
| 262 | <span·class="id"·title="keyword">Notation</span>·<a·id="Generic.U0"·class="idref"·href="#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.u0"><span·class="id"·title="variable">u0</span></a>).<br/> | 262 | <span·class="id"·title="keyword">Notation</span>·<a·id="Generic.U0"·class="idref"·href="#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.u0"><span·class="id"·title="variable">u0</span></a>).<br/> | 
| 263 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.El0"·class="idref"·href="#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Type</span>.<br/> | 263 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.El0"·class="idref"·href="#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Type</span>.<br/> | 
| 264 | </div> | 264 | </div> | 
| 265 | <div·class="doc"> | 265 | <div·class="doc"> | 
| 266 | <a·id="lab | 266 | <a·id="lab927"></a><h4·class="section">Closure·by·small·product</h4> | 
| 267 | ·<span·class="inlinecode"><span·class="id"·title="var">U0</span></span>·does·not·need·reduction·rules· | 267 | ·<span·class="inlinecode"><span·class="id"·title="var">U0</span></span>·does·not·need·reduction·rules· | 
| 268 | </div> | 268 | </div> | 
| 269 | <div·class="code"> | 269 | <div·class="code"> | 
| 270 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.Forall0"·class="idref"·href="#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:56"·class="idref"·href="#u:56"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:56"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>.<br/> | 270 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.Forall0"·class="idref"·href="#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:56"·class="idref"·href="#u:56"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:56"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>.<br/> | 
| 271 |   <span·class="id"·title="keyword">Notation</span>·<a·id="d964ae79727e66600c1d24238feb6d82"·class="idref"·href="#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">"</span></a>'∀₀'·x·:·A·,·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:59"·class="idref"·href="#x:59"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">B</span>)).<br/> | 271 |   <span·class="id"·title="keyword">Notation</span>·<a·id="d964ae79727e66600c1d24238feb6d82"·class="idref"·href="#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">"</span></a>'∀₀'·x·:·A·,·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:59"·class="idref"·href="#x:59"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">B</span>)).<br/> | 
| 272 |   <span·class="id"·title="keyword">Notation</span>·<a·id="b64cd88d30682836951bfea4873c9d01"·class="idref"·href="#b64cd88d30682836951bfea4873c9d01"><span·class="id"·title="notation">"</span></a>A·'⟶₀'·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">B</span>)).<br/> | 272 |   <span·class="id"·title="keyword">Notation</span>·<a·id="b64cd88d30682836951bfea4873c9d01"·class="idref"·href="#b64cd88d30682836951bfea4873c9d01"><span·class="id"·title="notation">"</span></a>A·'⟶₀'·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">B</span>)).<br/> | 
| 273 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lam0"·class="idref"·href="#Generic.Paradox.lam0"><span·class="id"·title="variable">lam0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:60"·class="idref"·href="#u:60"><span·class="id"·title="binder">u</span></a>·<a·id="B:61"·class="idref"·href="#B:61"><span·class="id"·title="binder">B</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:62"·class="idref"·href="#x:62"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:60"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:61"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:62"><span·class="id"·title="variable">x</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">₀</span></a>·<a·id="x:63"·class="idref"·href="#x:63"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#u:60"><span·class="id"·title="variable">u</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:61"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:63"><span·class="id"·title="variable">x</span></a>).<br/> | 273 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lam0"·class="idref"·href="#Generic.Paradox.lam0"><span·class="id"·title="variable">lam0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:60"·class="idref"·href="#u:60"><span·class="id"·title="binder">u</span></a>·<a·id="B:61"·class="idref"·href="#B:61"><span·class="id"·title="binder">B</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:62"·class="idref"·href="#x:62"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:60"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:61"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:62"><span·class="id"·title="variable">x</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">₀</span></a>·<a·id="x:63"·class="idref"·href="#x:63"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#u:60"><span·class="id"·title="variable">u</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:61"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:63"><span·class="id"·title="variable">x</span></a>).<br/> | 
| 274 |   <span·class="id"·title="keyword">Notation</span>·<a·id="db4829df88a21b9cf21483c8351c115a"·class="idref"·href="#db4829df88a21b9cf21483c8351c115a"><span·class="id"·title="notation">"</span></a>'λ₀'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lam0"><span·class="id"·title="variable">lam0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:66"·class="idref"·href="#x:66"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> | 274 |   <span·class="id"·title="keyword">Notation</span>·<a·id="db4829df88a21b9cf21483c8351c115a"·class="idref"·href="#db4829df88a21b9cf21483c8351c115a"><span·class="id"·title="notation">"</span></a>'λ₀'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lam0"><span·class="id"·title="variable">lam0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:66"·class="idref"·href="#x:66"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> | 
| 275 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.app0"·class="idref"·href="#Generic.Paradox.app0"><span·class="id"·title="variable">app0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:67"·class="idref"·href="#u:67"><span·class="id"·title="binder">u</span></a>·<a·id="B:68"·class="idref"·href="#B:68"><span·class="id"·title="binder">B</span></a>·(<a·id="f:69"·class="idref"·href="#f:69"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:67"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:68"><span·class="id"·title="variable">B</span></a>))·(<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:67"><span·class="id"·title="variable">u</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:68"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:70"><span·class="id"·title="variable">x</span></a>).<br/> | 275 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.app0"·class="idref"·href="#Generic.Paradox.app0"><span·class="id"·title="variable">app0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:67"·class="idref"·href="#u:67"><span·class="id"·title="binder">u</span></a>·<a·id="B:68"·class="idref"·href="#B:68"><span·class="id"·title="binder">B</span></a>·(<a·id="f:69"·class="idref"·href="#f:69"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:67"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:68"><span·class="id"·title="variable">B</span></a>))·(<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:67"><span·class="id"·title="variable">u</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:68"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:70"><span·class="id"·title="variable">x</span></a>).<br/> | 
| 276 |   <span·class="id"·title="keyword">Notation</span>·<a·id="abb609e223b832d7163df6b07f35bba1"·class="idref"·href="#abb609e223b832d7163df6b07f35bba1"><span·class="id"·title="notation">"</span></a>f·'·₀'·x"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.app0"><span·class="id"·title="variable">app0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>).<br/> | 276 |   <span·class="id"·title="keyword">Notation</span>·<a·id="abb609e223b832d7163df6b07f35bba1"·class="idref"·href="#abb609e223b832d7163df6b07f35bba1"><span·class="id"·title="notation">"</span></a>f·'·₀'·x"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.app0"><span·class="id"·title="variable">app0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>).<br/> | 
| 277 | </div> | 277 | </div> | 
| 278 | <div·class="doc"> | 278 | <div·class="doc"> | 
| 279 | <a·id="lab | 279 | <a·id="lab928"></a><h4·class="section">Closure·by·large·products</h4> | 
| 280 | </div> | 280 | </div> | 
| 281 | <div·class="code"> | 281 | <div·class="code"> | 
| 282 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.ForallU0"·class="idref"·href="#Generic.Paradox.ForallU0"><span·class="id"·title="variable">ForallU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:73"·class="idref"·href="#u:73"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:73"><span·class="id"·title="variable">u</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>.<br/> | 282 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.ForallU0"·class="idref"·href="#Generic.Paradox.ForallU0"><span·class="id"·title="variable">ForallU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:73"·class="idref"·href="#u:73"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:73"><span·class="id"·title="variable">u</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>.<br/> | 
| 283 |   <span·class="id"·title="keyword">Notation</span>·<a·id="0f63ed2479c2d698dc69cb055d1ca0ce"·class="idref"·href="#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">"</span></a>'∀₀¹'·A·:·U·,·F"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.ForallU0"><span·class="id"·title="variable">ForallU0</span></a>·<span·class="id"·title="var">U</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="A:76"·class="idref"·href="#A:76"><span·class="id"·title="binder">A</span></a>·=>·<span·class="id"·title="var">F</span>)).<br/> | 283 |   <span·class="id"·title="keyword">Notation</span>·<a·id="0f63ed2479c2d698dc69cb055d1ca0ce"·class="idref"·href="#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">"</span></a>'∀₀¹'·A·:·U·,·F"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.ForallU0"><span·class="id"·title="variable">ForallU0</span></a>·<span·class="id"·title="var">U</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="A:76"·class="idref"·href="#A:76"><span·class="id"·title="binder">A</span></a>·=>·<span·class="id"·title="var">F</span>)).<br/> | 
| 284 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lamU0"·class="idref"·href="#Generic.Paradox.lamU0"><span·class="id"·title="variable">lamU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="U:77"·class="idref"·href="#U:77"><span·class="id"·title="binder">U</span></a>·<a·id="F:78"·class="idref"·href="#F:78"><span·class="id"·title="binder">F</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="A:79"·class="idref"·href="#A:79"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#U:77"><span·class="id"·title="variable">U</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:78"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:79"><span·class="id"·title="variable">A</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">₀¹</span></a>·<a·id="A:80"·class="idref"·href="#A:80"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#U:77"><span·class="id"·title="variable">U</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#F:78"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:80"><span·class="id"·title="variable">A</span></a>).<br/> | 284 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lamU0"·class="idref"·href="#Generic.Paradox.lamU0"><span·class="id"·title="variable">lamU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="U:77"·class="idref"·href="#U:77"><span·class="id"·title="binder">U</span></a>·<a·id="F:78"·class="idref"·href="#F:78"><span·class="id"·title="binder">F</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="A:79"·class="idref"·href="#A:79"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#U:77"><span·class="id"·title="variable">U</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:78"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:79"><span·class="id"·title="variable">A</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">₀¹</span></a>·<a·id="A:80"·class="idref"·href="#A:80"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#U:77"><span·class="id"·title="variable">U</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#F:78"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:80"><span·class="id"·title="variable">A</span></a>).<br/> | 
| 285 |   <span·class="id"·title="keyword">Notation</span>·<a·id="445d40c6866861f70f030884478fa029"·class="idref"·href="#445d40c6866861f70f030884478fa029"><span·class="id"·title="notation">"</span></a>'λ₀¹'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lamU0"><span·class="id"·title="variable">lamU0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:83"·class="idref"·href="#x:83"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> | 285 |   <span·class="id"·title="keyword">Notation</span>·<a·id="445d40c6866861f70f030884478fa029"·class="idref"·href="#445d40c6866861f70f030884478fa029"><span·class="id"·title="notation">"</span></a>'λ₀¹'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lamU0"><span·class="id"·title="variable">lamU0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:83"·class="idref"·href="#x:83"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> | 
| 286 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.appU0"·class="idref"·href="#Generic.Paradox.appU0"><span·class="id"·title="variable">appU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="U:84"·class="idref"·href="#U:84"><span·class="id"·title="binder">U</span></a>·<a·id="F:85"·class="idref"·href="#F:85"><span·class="id"·title="binder">F</span></a>·(<a·id="f:87"·class="idref"·href="#f:87"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>(<a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">₀¹</span></a>·<a·id="A:86"·class="idref"·href="#A:86"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#U:84"><span·class="id"·title="variable">U</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">,</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#F:85"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:86"><span·class="id"·title="variable">A</span></a>))·(<a·id="A:88"·class="idref"·href="#A:88"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#U:84"><span·class="id"·title="variable">U</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:85"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:88"><span·class="id"·title="variable">A</span></a>).<br/> | 286 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.appU0"·class="idref"·href="#Generic.Paradox.appU0"><span·class="id"·title="variable">appU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="U:84"·class="idref"·href="#U:84"><span·class="id"·title="binder">U</span></a>·<a·id="F:85"·class="idref"·href="#F:85"><span·class="id"·title="binder">F</span></a>·(<a·id="f:87"·class="idref"·href="#f:87"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>(<a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">₀¹</span></a>·<a·id="A:86"·class="idref"·href="#A:86"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#U:84"><span·class="id"·title="variable">U</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">,</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#F:85"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:86"><span·class="id"·title="variable">A</span></a>))·(<a·id="A:88"·class="idref"·href="#A:88"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#U:84"><span·class="id"·title="variable">U</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:85"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:88"><span·class="id"·title="variable">A</span></a>).<br/> | 
| 287 |   <span·class="id"·title="keyword">Notation</span>·<a·id="d3f4e16d7ba734384b86362c88888b46"·class="idref"·href="#d3f4e16d7ba734384b86362c88888b46"><span·class="id"·title="notation">"</span></a>f·'·₀'·[·A·]"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.appU0"><span·class="id"·title="variable">appU0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">A</span>).<br/> | 287 |   <span·class="id"·title="keyword">Notation</span>·<a·id="d3f4e16d7ba734384b86362c88888b46"·class="idref"·href="#d3f4e16d7ba734384b86362c88888b46"><span·class="id"·title="notation">"</span></a>f·'·₀'·[·A·]"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.appU0"><span·class="id"·title="variable">appU0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">A</span>).<br/> | 
| 288 | <br/> | 288 | <br/> | 
| 289 | </div> | 289 | </div> | 
| 290 | <div·class="doc"> | 290 | <div·class="doc"> | 
| 291 | <a·id="lab | 291 | <a·id="lab929"></a><h2·class="section">Automating·the·rewrite·rules·of·our·encoding.</h2> | 
| 292 | </div> | 292 | </div> | 
| 293 | <div·class="code"> | 293 | <div·class="code"> | 
| 294 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">simplify</span>·:=<br/> | 294 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">simplify</span>·:=<br/> | 
| 295 |   <br/> | 295 |   <br/> | 
| 296 |   (<span·class="id"·title="tactic">repeat</span>·<span·class="id"·title="tactic">rewrite</span>·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>,·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>);<br/> | 296 |   (<span·class="id"·title="tactic">repeat</span>·<span·class="id"·title="tactic">rewrite</span>·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>,·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>);<br/> | 
| 297 |   <span·class="id"·title="tactic">lazy</span>·<span·class="id"·title="keyword">beta</span>.<br/> | 297 |   <span·class="id"·title="tactic">lazy</span>·<span·class="id"·title="keyword">beta</span>.<br/> | 
| Offset 309, 28 lines modified | Offset 309, 28 lines modified | ||
| 309 |   (<span·class="id"·title="tactic">repeat</span>·<span·class="id"·title="tactic">rewrite</span>·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>,·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>·<span·class="id"·title="tactic">in</span>·<span·class="id"·title="var">h</span>);<br/> | 309 |   (<span·class="id"·title="tactic">repeat</span>·<span·class="id"·title="tactic">rewrite</span>·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>,·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>·<span·class="id"·title="tactic">in</span>·<span·class="id"·title="var">h</span>);<br/> | 
| 310 |   <span·class="id"·title="tactic">lazy</span>·<span·class="id"·title="keyword">beta</span>·<span·class="id"·title="tactic">in</span>·<span·class="id"·title="var">h</span>.<br/> | 310 |   <span·class="id"·title="tactic">lazy</span>·<span·class="id"·title="keyword">beta</span>·<span·class="id"·title="tactic">in</span>·<span·class="id"·title="var">h</span>.<br/> | 
| 311 | <br/> | 311 | <br/> | 
| Max diff block lines reached; 60539/98569 bytes (61.42%) of diff not shown. | |||
| Offset 113, 15 lines modified | Offset 113, 15 lines modified | ||
| 113 | <br/> | 113 | <br/> | 
| 114 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 114 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 115 | <br/> | 115 | <br/> | 
| 116 | </div> | 116 | </div> | 
| 117 | <div·class="doc"> | 117 | <div·class="doc"> | 
| 118 | <a·id="lab | 118 | <a·id="lab892"></a><h1·class="section">Definitions</h1> | 
| 119 | <div·class="paragraph">·</div> | 119 | <div·class="paragraph">·</div> | 
| 120 | ·Propositional·extensionality· | 120 | ·Propositional·extensionality· | 
| 121 | </div> | 121 | </div> | 
| 122 | <div·class="code"> | 122 | <div·class="code"> | 
| Offset 177, 19 lines modified | Offset 177, 19 lines modified | ||
| 177 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="PropositionalFunctionalExtensionality"·class="idref"·href="#PropositionalFunctionalExtensionality"><span·class="id"·title="abbreviation">PropositionalFunctionalExtensionality</span></a>·:=<br/> | 177 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="PropositionalFunctionalExtensionality"·class="idref"·href="#PropositionalFunctionalExtensionality"><span·class="id"·title="abbreviation">PropositionalFunctionalExtensionality</span></a>·:=<br/> | 
| 178 |   (<span·class="id"·title="keyword">forall</span>·(<a·id="A:9"·class="idref"·href="#A:9"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Type</span>)·(<a·id="P:10"·class="idref"·href="#P:10"><span·class="id"·title="binder">P</span></a>·<a·id="Q:11"·class="idref"·href="#Q:11"><span·class="id"·title="binder">Q</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#A:9"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>),·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#P:10"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#x:12"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#Q:11"><span·class="id"·title="variable">Q</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#x:12"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#P:10"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#Q:11"><span·class="id"·title="variable">Q</span></a>).<br/> | 178 |   (<span·class="id"·title="keyword">forall</span>·(<a·id="A:9"·class="idref"·href="#A:9"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Type</span>)·(<a·id="P:10"·class="idref"·href="#P:10"><span·class="id"·title="binder">P</span></a>·<a·id="Q:11"·class="idref"·href="#Q:11"><span·class="id"·title="binder">Q</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#A:9"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>),·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#P:10"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#x:12"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#Q:11"><span·class="id"·title="variable">Q</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#x:12"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#P:10"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#Q:11"><span·class="id"·title="variable">Q</span></a>).<br/> | 
| 179 | <br/> | 179 | <br/> | 
| 180 | </div> | 180 | </div> | 
| 181 | <div·class="doc"> | 181 | <div·class="doc"> | 
| 182 | <a·id="lab | 182 | <a·id="lab893"></a><h1·class="section">Propositional·and·predicate·extensionality</h1> | 
| 183 | <div·class="paragraph">·</div> | 183 | <div·class="paragraph">·</div> | 
| 184 | <a·id="lab | 184 | <a·id="lab894"></a><h2·class="section">Predicate·extensionality·<->·Propositional·extensionality·+·Propositional·functional·extensionality</h2> | 
| 185 | </div> | 185 | </div> | 
| 186 | <div·class="code"> | 186 | <div·class="code"> | 
| 187 | <br/> | 187 | <br/> | 
| 188 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PredExt_imp_PropExt"·class="idref"·href="#PredExt_imp_PropExt"><span·class="id"·title="lemma">PredExt_imp_PropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PredicateExtensionality"><span·class="id"·title="abbreviation">PredicateExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>.<br/> | 188 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PredExt_imp_PropExt"·class="idref"·href="#PredExt_imp_PropExt"><span·class="id"·title="lemma">PredExt_imp_PropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PredicateExtensionality"><span·class="id"·title="abbreviation">PredicateExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>.<br/> | 
| Offset 204, 27 lines modified | Offset 204, 27 lines modified | ||
| 204 | <span·class="id"·title="keyword">Theorem</span>·<a·id="PropExt_and_PropFunExt_iff_PredExt"·class="idref"·href="#PropExt_and_PropFunExt_iff_PredExt"><span·class="id"·title="lemma">PropExt_and_PropFunExt_iff_PredExt</span></a>·:<br/> | 204 | <span·class="id"·title="keyword">Theorem</span>·<a·id="PropExt_and_PropFunExt_iff_PredExt"·class="idref"·href="#PropExt_and_PropFunExt_iff_PredExt"><span·class="id"·title="lemma">PropExt_and_PropFunExt_iff_PredExt</span></a>·:<br/> | 
| 205 |   <a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalFunctionalExtensionality"><span·class="id"·title="abbreviation">PropositionalFunctionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PredicateExtensionality"><span·class="id"·title="abbreviation">PredicateExtensionality</span></a>.<br/> | 205 |   <a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalFunctionalExtensionality"><span·class="id"·title="abbreviation">PropositionalFunctionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PredicateExtensionality"><span·class="id"·title="abbreviation">PredicateExtensionality</span></a>.<br/> | 
| 206 | <br/> | 206 | <br/> | 
| 207 | </div> | 207 | </div> | 
| 208 | <div·class="doc"> | 208 | <div·class="doc"> | 
| 209 | <a·id="lab | 209 | <a·id="lab895"></a><h2·class="section">Propositional·extensionality·and·provable·proposition·extensionality</h2> | 
| 210 | </div> | 210 | </div> | 
| 211 | <div·class="code"> | 211 | <div·class="code"> | 
| 212 | <br/> | 212 | <br/> | 
| 213 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PropExt_imp_ProvPropExt"·class="idref"·href="#PropExt_imp_ProvPropExt"><span·class="id"·title="lemma">PropExt_imp_ProvPropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#ProvablePropositionExtensionality"><span·class="id"·title="abbreviation">ProvablePropositionExtensionality</span></a>.<br/> | 213 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PropExt_imp_ProvPropExt"·class="idref"·href="#PropExt_imp_ProvPropExt"><span·class="id"·title="lemma">PropExt_imp_ProvPropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#ProvablePropositionExtensionality"><span·class="id"·title="abbreviation">ProvablePropositionExtensionality</span></a>.<br/> | 
| 214 | <br/> | 214 | <br/> | 
| 215 | </div> | 215 | </div> | 
| 216 | <div·class="doc"> | 216 | <div·class="doc"> | 
| 217 | <a·id="lab | 217 | <a·id="lab896"></a><h2·class="section">Propositional·extensionality·and·refutable·proposition·extensionality</h2> | 
| 218 | </div> | 218 | </div> | 
| 219 | <div·class="code"> | 219 | <div·class="code"> | 
| 220 | <br/> | 220 | <br/> | 
| 221 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PropExt_imp_RefutPropExt"·class="idref"·href="#PropExt_imp_RefutPropExt"><span·class="id"·title="lemma">PropExt_imp_RefutPropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#RefutablePropositionExtensionality"><span·class="id"·title="abbreviation">RefutablePropositionExtensionality</span></a>.<br/> | 221 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PropExt_imp_RefutPropExt"·class="idref"·href="#PropExt_imp_RefutPropExt"><span·class="id"·title="lemma">PropExt_imp_RefutPropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#RefutablePropositionExtensionality"><span·class="id"·title="abbreviation">RefutablePropositionExtensionality</span></a>.<br/> | 
| 222 | </div> | 222 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab888"></a><h1·class="section">Basic·facts·about·Prop·as·a·type</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·An·intuitionistic·theorem·from·topos·theory·<span·class="inlinecode">[<span·class="id"·title="var">LambekScott</span>]</span> | 51 | ·An·intuitionistic·theorem·from·topos·theory·<span·class="inlinecode">[<span·class="id"·title="var">LambekScott</span>]</span> | 
| 52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab960"></a><h1·class="section">The·Set·universe·seen·as·a·synonym·for·Type</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·After·loading·this·file,·Set·becomes·just·another·name·for·Type. | 51 | ·After·loading·this·file,·Set·becomes·just·another·name·for·Type. | 
| 52 | ····This·allows·easily·performing·a·Set-to-Type·migration,·or·at·least | 52 | ····This·allows·easily·performing·a·Set-to-Type·migration,·or·at·least | 
| 53 | ····test·whether·a·development·relies·or·not·on·specific·features·of | 53 | ····test·whether·a·development·relies·or·not·on·specific·features·of | 
| 54 | ····Set:·simply·insert·some·Require·Export·of·this·file·at·starting | 54 | ····Set:·simply·insert·some·Require·Export·of·this·file·at·starting | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab11 | 49 | <a·id="lab1110"></a><h1·class="section">MSetAVL·:·Implementation·of·MSetInterface·via·AVL·trees</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·module·implements·finite·sets·using·AVL·trees. | 51 | ·This·module·implements·finite·sets·using·AVL·trees. | 
| 52 | ····It·follows·the·implementation·from·Ocaml's·standard·library, | 52 | ····It·follows·the·implementation·from·Ocaml's·standard·library, | 
| 53 | <div·class="paragraph">·</div> | 53 | <div·class="paragraph">·</div> | 
| Offset 87, 29 lines modified | Offset 87, 29 lines modified | ||
| 87 | <br/> | 87 | <br/> | 
| 88 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 88 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 89 | <br/> | 89 | <br/> | 
| 90 | </div> | 90 | </div> | 
| 91 | <div·class="doc"> | 91 | <div·class="doc"> | 
| 92 | <a·id="lab11 | 92 | <a·id="lab1111"></a><h1·class="section">Ops·:·the·pure·functions</h1> | 
| 93 | </div> | 93 | </div> | 
| 94 | <div·class="code"> | 94 | <div·class="code"> | 
| 95 | <br/> | 95 | <br/> | 
| 96 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">I</span>:<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>)(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Ops"><span·class="id"·title="module">MSetInterface.Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 96 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">I</span>:<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>)(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Ops"><span·class="id"·title="module">MSetInterface.Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 
| 97 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Int_scope</span>.<br/> | 97 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Int_scope</span>.<br/> | 
| 98 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.int"·class="idref"·href="#Ops.int"><span·class="id"·title="abbreviation">int</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#I.t"><span·class="id"·title="axiom">I.t</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.int"·class="idref"·href="#Ops.int"><span·class="id"·title="abbreviation">int</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#I.t"><span·class="id"·title="axiom">I.t</span></a>.<br/> | 
| 99 | <br/> | 99 | <br/> | 
| 100 | </div> | 100 | </div> | 
| 101 | <div·class="doc"> | 101 | <div·class="doc"> | 
| 102 | <a·id="lab11 | 102 | <a·id="lab1112"></a><h2·class="section">Generic·trees·instantiated·with·integer·height</h2> | 
| 103 | <div·class="paragraph">·</div> | 103 | <div·class="paragraph">·</div> | 
| 104 | ·We·reuse·a·generic·definition·of·trees·where·the·information | 104 | ·We·reuse·a·generic·definition·of·trees·where·the·information | 
| 105 | ····parameter·is·a·<span·class="inlinecode"><span·class="id"·title="var">Int.t</span></span>.·Functions·like·mem·or·fold·are·also | 105 | ····parameter·is·a·<span·class="inlinecode"><span·class="id"·title="var">Int.t</span></span>.·Functions·like·mem·or·fold·are·also | 
| 106 | ····provided·by·this·generic·functor.· | 106 | ····provided·by·this·generic·functor.· | 
| 107 | </div> | 107 | </div> | 
| Offset 121, 15 lines modified | Offset 121, 15 lines modified | ||
| 121 | <br/> | 121 | <br/> | 
| 122 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.t"·class="idref"·href="#Ops.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>.<br/> | 122 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.t"·class="idref"·href="#Ops.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>.<br/> | 
| 123 | <br/> | 123 | <br/> | 
| 124 | </div> | 124 | </div> | 
| 125 | <div·class="doc"> | 125 | <div·class="doc"> | 
| 126 | <a·id="lab11 | 126 | <a·id="lab1113"></a><h2·class="section">Height·of·trees</h2> | 
| 127 | </div> | 127 | </div> | 
| 128 | <div·class="code"> | 128 | <div·class="code"> | 
| 129 | <br/> | 129 | <br/> | 
| 130 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.height"·class="idref"·href="#Ops.height"><span·class="id"·title="definition">height</span></a>·(<a·id="s:1"·class="idref"·href="#s:1"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.t"><span·class="id"·title="definition">t</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.int"><span·class="id"·title="abbreviation">int</span></a>·:=<br/> | 130 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.height"·class="idref"·href="#Ops.height"><span·class="id"·title="definition">height</span></a>·(<a·id="s:1"·class="idref"·href="#s:1"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.t"><span·class="id"·title="definition">t</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.int"><span·class="id"·title="abbreviation">int</span></a>·:=<br/> | 
| 131 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#s:1"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 131 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#s:1"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 137, 27 lines modified | Offset 137, 27 lines modified | ||
| 137 |   |·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">h</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">h</span><br/> | 137 |   |·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">h</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">h</span><br/> | 
| 138 |   <span·class="id"·title="keyword">end</span>.<br/> | 138 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 139 | <br/> | 139 | <br/> | 
| 140 | </div> | 140 | </div> | 
| 141 | <div·class="doc"> | 141 | <div·class="doc"> | 
| 142 | <a·id="lab11 | 142 | <a·id="lab1114"></a><h2·class="section">Singleton·set</h2> | 
| 143 | </div> | 143 | </div> | 
| 144 | <div·class="code"> | 144 | <div·class="code"> | 
| 145 | <br/> | 145 | <br/> | 
| 146 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.singleton"·class="idref"·href="#Ops.singleton"><span·class="id"·title="definition">singleton</span></a>·<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·1·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 146 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.singleton"·class="idref"·href="#Ops.singleton"><span·class="id"·title="definition">singleton</span></a>·<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·1·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 
| 147 | <br/> | 147 | <br/> | 
| 148 | </div> | 148 | </div> | 
| 149 | <div·class="doc"> | 149 | <div·class="doc"> | 
| 150 | <a·id="lab11 | 150 | <a·id="lab1115"></a><h2·class="section">Helper·functions</h2> | 
| 151 | <div·class="paragraph">·</div> | 151 | <div·class="paragraph">·</div> | 
| 152 | ·<span·class="inlinecode"><span·class="id"·title="var">create</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·creates·a·node,·assuming·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span> | 152 | ·<span·class="inlinecode"><span·class="id"·title="var">create</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·creates·a·node,·assuming·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span> | 
| 153 | ····to·be·balanced·and·<span·class="inlinecode">|<span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode">-</span>·<span·class="inlinecode"><span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span>|</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode">2</span>.· | 153 | ····to·be·balanced·and·<span·class="inlinecode">|<span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode">-</span>·<span·class="inlinecode"><span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span>|</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode">2</span>.· | 
| 154 | </div> | 154 | </div> | 
| 155 | <div·class="code"> | 155 | <div·class="code"> | 
| Offset 212, 15 lines modified | Offset 212, 15 lines modified | ||
| 212 |     <span·class="id"·title="keyword">else</span><br/> | 212 |     <span·class="id"·title="keyword">else</span><br/> | 
| 213 |       <a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.create"><span·class="id"·title="definition">create</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#l:7"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:8"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#r:9"><span·class="id"·title="variable">r</span></a>.<br/> | 213 |       <a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.create"><span·class="id"·title="definition">create</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#l:7"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:8"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#r:9"><span·class="id"·title="variable">r</span></a>.<br/> | 
| 214 | <br/> | 214 | <br/> | 
| 215 | </div> | 215 | </div> | 
| 216 | <div·class="doc"> | 216 | <div·class="doc"> | 
| 217 | <a·id="lab11 | 217 | <a·id="lab1116"></a><h2·class="section">Insertion</h2> | 
| 218 | </div> | 218 | </div> | 
| 219 | <div·class="code"> | 219 | <div·class="code"> | 
| 220 | <br/> | 220 | <br/> | 
| 221 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.add"·class="idref"·href="#Ops.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·<a·id="s:17"·class="idref"·href="#s:17"><span·class="id"·title="binder">s</span></a>·:=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#s:17"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 221 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.add"·class="idref"·href="#Ops.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·<a·id="s:17"·class="idref"·href="#s:17"><span·class="id"·title="binder">s</span></a>·:=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#s:17"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| 222 |    |·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·=>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·1·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a><br/> | 222 |    |·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·=>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·1·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a><br/> | 
| Offset 232, 15 lines modified | Offset 232, 15 lines modified | ||
| 232 |       <span·class="id"·title="keyword">end</span><br/> | 232 |       <span·class="id"·title="keyword">end</span><br/> | 
| 233 |   <span·class="id"·title="keyword">end</span>.<br/> | 233 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 234 | <br/> | 234 | <br/> | 
| 235 | </div> | 235 | </div> | 
| 236 | <div·class="doc"> | 236 | <div·class="doc"> | 
| 237 | <a·id="lab11 | 237 | <a·id="lab1117"></a><h2·class="section">Join</h2> | 
| 238 | <div·class="paragraph">·</div> | 238 | <div·class="paragraph">·</div> | 
| 239 | ····Same·as·<span·class="inlinecode"><span·class="id"·title="var">bal</span></span>·but·does·not·assume·anything·regarding·heights | 239 | ····Same·as·<span·class="inlinecode"><span·class="id"·title="var">bal</span></span>·but·does·not·assume·anything·regarding·heights | 
| 240 | ····of·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>. | 240 | ····of·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>. | 
| Offset 261, 15 lines modified | Offset 261, 15 lines modified | ||
| 261 |           <span·class="id"·title="keyword">end</span><br/> | 261 |           <span·class="id"·title="keyword">end</span><br/> | 
| 262 |   <span·class="id"·title="keyword">end</span>.<br/> | 262 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 263 | <br/> | 263 | <br/> | 
| 264 | </div> | 264 | </div> | 
| Max diff block lines reached; 64262/72892 bytes (88.16%) of diff not shown. | |||
| Offset 71, 15 lines modified | Offset 71, 15 lines modified | ||
| 71 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn"·class="idref"·href="#WDecideOn"><span·class="id"·title="module">WDecideOn</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>·:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 71 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn"·class="idref"·href="#WDecideOn"><span·class="id"·title="module">WDecideOn</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>·:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 
| 72 |  <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.F"·class="idref"·href="#WDecideOn.F"><span·class="id"·title="module">F</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn"><span·class="id"·title="module">MSetFacts.WFactsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#E"><span·class="id"·title="module">E</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 72 |  <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.F"·class="idref"·href="#WDecideOn.F"><span·class="id"·title="module">F</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn"><span·class="id"·title="module">MSetFacts.WFactsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#E"><span·class="id"·title="module">E</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 
| 73 | <br/> | 73 | <br/> | 
| 74 | </div> | 74 | </div> | 
| 75 | <div·class="doc"> | 75 | <div·class="doc"> | 
| 76 | <a·id="lab1 | 76 | <a·id="lab1211"></a><h1·class="section">Overview</h1> | 
| 77 | ····This·functor·defines·the·tactic·<span·class="inlinecode"><span·class="id"·title="var">fsetdec</span></span>,·which·will | 77 | ····This·functor·defines·the·tactic·<span·class="inlinecode"><span·class="id"·title="var">fsetdec</span></span>,·which·will | 
| 78 | ····solve·any·valid·goal·of·the·form | 78 | ····solve·any·valid·goal·of·the·form | 
| 79 | <pre> | 79 | <pre> | 
| 80 | ····forall·s1·...·sn, | 80 | ····forall·s1·...·sn, | 
| 81 | ····forall·x1·...·xm, | 81 | ····forall·x1·...·xm, | 
| 82 | ····P1·->·...·->·Pk·->·P | 82 | ····P1·->·...·->·Pk·->·P | 
| Offset 177, 41 lines modified | Offset 177, 41 lines modified | ||
| 177 | </pre> | 177 | </pre> | 
| 178 | </li> | 178 | </li> | 
| 179 | </ul> | 179 | </ul> | 
| 180 | <div·class="paragraph">·</div> | 180 | <div·class="paragraph">·</div> | 
| 181 | <a·id="lab1 | 181 | <a·id="lab1212"></a><h1·class="section">Facts·and·Tactics·for·Propositional·Logic</h1> | 
| 182 | ······These·lemmas·and·tactics·are·in·a·module·so·that·they·do | 182 | ······These·lemmas·and·tactics·are·in·a·module·so·that·they·do | 
| 183 | ······not·affect·the·namespace·if·you·import·the·enclosing | 183 | ······not·affect·the·namespace·if·you·import·the·enclosing | 
| 184 | ······module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.· | 184 | ······module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.· | 
| 185 | </div> | 185 | </div> | 
| 186 | <div·class="code"> | 186 | <div·class="code"> | 
| 187 |   <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.MSetLogicalFacts"·class="idref"·href="#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> | 187 |   <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.MSetLogicalFacts"·class="idref"·href="#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> | 
| 188 |     <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Logic.Decidable.html#"><span·class="id"·title="module">Decidable</span></a>.<br/> | 188 |     <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Logic.Decidable.html#"><span·class="id"·title="module">Decidable</span></a>.<br/> | 
| 189 |     <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="module">Setoid</span></a>.<br/> | 189 |     <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="module">Setoid</span></a>.<br/> | 
| 190 | <br/> | 190 | <br/> | 
| 191 | </div> | 191 | </div> | 
| 192 | <div·class="doc"> | 192 | <div·class="doc"> | 
| 193 | <a·id="lab1 | 193 | <a·id="lab1213"></a><h2·class="section">Lemmas·and·Tactics·About·Decidable·Propositions</h2> | 
| 194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> | 
| 195 | <a·id="lab1 | 195 | <a·id="lab1214"></a><h2·class="section">Propositional·Equivalences·Involving·Negation</h2> | 
| 196 | ········These·are·all·written·with·the·unfolded·form·of | 196 | ········These·are·all·written·with·the·unfolded·form·of | 
| 197 | ········negation,·since·I·am·not·sure·if·setoid·rewriting·will | 197 | ········negation,·since·I·am·not·sure·if·setoid·rewriting·will | 
| 198 | ········always·perform·conversion.· | 198 | ········always·perform·conversion.· | 
| 199 | <div·class="paragraph">·</div> | 199 | <div·class="paragraph">·</div> | 
| 200 | <a·id="lab1 | 200 | <a·id="lab1215"></a><h2·class="section">Tactics·for·Negations</h2> | 
| 201 | </div> | 201 | </div> | 
| 202 | <div·class="code"> | 202 | <div·class="code"> | 
| 203 | <br/> | 203 | <br/> | 
| 204 |     <span·class="id"·title="keyword">Tactic·Notation</span>·"fold"·"any"·"not"·:=<br/> | 204 |     <span·class="id"·title="keyword">Tactic·Notation</span>·"fold"·"any"·"not"·:=<br/> | 
| 205 |       <span·class="id"·title="tactic">repeat</span>·(<br/> | 205 |       <span·class="id"·title="tactic">repeat</span>·(<br/> | 
| Offset 454, 28 lines modified | Offset 454, 28 lines modified | ||
| 454 |   <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> | 454 |   <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> | 
| 455 |   <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> | 455 |   <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> | 
| 456 | <br/> | 456 | <br/> | 
| 457 | </div> | 457 | </div> | 
| 458 | <div·class="doc"> | 458 | <div·class="doc"> | 
| 459 | <a·id="lab1 | 459 | <a·id="lab1216"></a><h1·class="section">Auxiliary·Tactics</h1> | 
| 460 | ······Again,·these·lemmas·and·tactics·are·in·a·module·so·that | 460 | ······Again,·these·lemmas·and·tactics·are·in·a·module·so·that | 
| 461 | ······they·do·not·affect·the·namespace·if·you·import·the | 461 | ······they·do·not·affect·the·namespace·if·you·import·the | 
| 462 | ······enclosing·module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.·· | 462 | ······enclosing·module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.·· | 
| 463 | </div> | 463 | </div> | 
| 464 | <div·class="code"> | 464 | <div·class="code"> | 
| 465 |   <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.MSetDecideAuxiliary"·class="idref"·href="#WDecideOn.MSetDecideAuxiliary"><span·class="id"·title="module">MSetDecideAuxiliary</span></a>.<br/> | 465 |   <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.MSetDecideAuxiliary"·class="idref"·href="#WDecideOn.MSetDecideAuxiliary"><span·class="id"·title="module">MSetDecideAuxiliary</span></a>.<br/> | 
| 466 | <br/> | 466 | <br/> | 
| 467 | </div> | 467 | </div> | 
| 468 | <div·class="doc"> | 468 | <div·class="doc"> | 
| 469 | <a·id="lab117 | 469 | <a·id="lab1217"></a><h2·class="section">Generic·Tactics</h2> | 
| 470 | ········We·begin·by·defining·a·few·generic,·useful·tactics.· | 470 | ········We·begin·by·defining·a·few·generic,·useful·tactics.· | 
| 471 | <div·class="paragraph">·</div> | 471 | <div·class="paragraph">·</div> | 
| 472 | ·remove·logical·hypothesis·inter-dependencies·(fix·2136).· | 472 | ·remove·logical·hypothesis·inter-dependencies·(fix·2136).· | 
| 473 | </div> | 473 | </div> | 
| 474 | <div·class="code"> | 474 | <div·class="code"> | 
| Offset 584, 15 lines modified | Offset 584, 15 lines modified | ||
| 584 |         |·<span·class="id"·title="var">H</span>:·<span·class="id"·title="var">_</span>·|-·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">progress</span>·(<span·class="id"·title="var">decompose</span>·<span·class="id"·title="var">record</span>·<span·class="id"·title="var">H</span>);·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 584 |         |·<span·class="id"·title="var">H</span>:·<span·class="id"·title="var">_</span>·|-·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">progress</span>·(<span·class="id"·title="var">decompose</span>·<span·class="id"·title="var">record</span>·<span·class="id"·title="var">H</span>);·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 
| 585 |         <span·class="id"·title="keyword">end</span>).<br/> | 585 |         <span·class="id"·title="keyword">end</span>).<br/> | 
| 586 | <br/> | 586 | <br/> | 
| 587 | </div> | 587 | </div> | 
| 588 | <div·class="doc"> | 588 | <div·class="doc"> | 
| 589 | <a·id="lab1 | 589 | <a·id="lab1218"></a><h2·class="section">Discarding·Irrelevant·Hypotheses</h2> | 
| 590 | ········We·will·want·to·clear·the·context·of·any | 590 | ········We·will·want·to·clear·the·context·of·any | 
| 591 | ········non-MSet-related·hypotheses·in·order·to·increase·the | 591 | ········non-MSet-related·hypotheses·in·order·to·increase·the | 
| 592 | ········speed·of·the·tactic.··To·do·this,·we·will·need·to·be | 592 | ········speed·of·the·tactic.··To·do·this,·we·will·need·to·be | 
| 593 | ········able·to·decide·which·are·relevant.··We·do·this·by·making | 593 | ········able·to·decide·which·are·relevant.··We·do·this·by·making | 
| 594 | ········a·simple·inductive·definition·classifying·the | 594 | ········a·simple·inductive·definition·classifying·the | 
| 595 | ········propositions·of·interest.· | 595 | ········propositions·of·interest.· | 
| Offset 664, 15 lines modified | Offset 664, 15 lines modified | ||
| 664 |           <span·class="id"·title="keyword">else</span>·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 664 |           <span·class="id"·title="keyword">else</span>·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 
| 665 |         <span·class="id"·title="keyword">end</span>).<br/> | 665 |         <span·class="id"·title="keyword">end</span>).<br/> | 
| 666 | <br/> | 666 | <br/> | 
| 667 | </div> | 667 | </div> | 
| 668 | <div·class="doc"> | 668 | <div·class="doc"> | 
| 669 | <a·id="lab1 | 669 | <a·id="lab1219"></a><h2·class="section">Turning·Set·Operators·into·Propositional·Connectives</h2> | 
| 670 | ········The·lemmas·from·<span·class="inlinecode"><span·class="id"·title="var">MSetFacts</span></span>·will·be·used·to·break·down | 670 | ········The·lemmas·from·<span·class="inlinecode"><span·class="id"·title="var">MSetFacts</span></span>·will·be·used·to·break·down | 
| 671 | ········set·operations·into·propositional·formulas·built·over | 671 | ········set·operations·into·propositional·formulas·built·over | 
| 672 | ········the·predicates·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">E.eq</span></span>·applied·only·to | 672 | ········the·predicates·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">E.eq</span></span>·applied·only·to | 
| 673 | ········variables.··We·are·going·to·use·them·with·<span·class="inlinecode"><span·class="id"·title="tactic">autorewrite</span></span>. | 673 | ········variables.··We·are·going·to·use·them·with·<span·class="inlinecode"><span·class="id"·title="tactic">autorewrite</span></span>. | 
| 674 | ········ | 674 | ········ | 
| 675 | </div> | 675 | </div> | 
| Offset 690, 15 lines modified | Offset 690, 15 lines modified | ||
| 690 | <br/> | 690 | <br/> | 
| 691 |     <span·class="id"·title="keyword">Global·Hint·Rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetDecideAuxiliary.eq_refl_iff"><span·class="id"·title="lemma">eq_refl_iff</span></a>·:·<span·class="id"·title="var">set_eq_simpl</span>.<br/> | 691 |     <span·class="id"·title="keyword">Global·Hint·Rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetDecideAuxiliary.eq_refl_iff"><span·class="id"·title="lemma">eq_refl_iff</span></a>·:·<span·class="id"·title="var">set_eq_simpl</span>.<br/> | 
| 692 | <br/> | 692 | <br/> | 
| 693 | </div> | 693 | </div> | 
| 694 | <div·class="doc"> | 694 | <div·class="doc"> | 
| 695 | <a·id="lab1 | 695 | <a·id="lab1220"></a><h2·class="section">Decidability·of·MSet·Propositions</h2> | 
| Max diff block lines reached; 7276/14987 bytes (48.55%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab1 | 49 | <a·id="lab1203"></a><h1·class="section">Finite·sets·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·module·proves·many·properties·of·finite·sets·that | 51 | ·This·module·proves·many·properties·of·finite·sets·that | 
| 52 | ····are·consequences·of·the·axiomatization·in·<span·class="inlinecode"><span·class="id"·title="var">FsetInterface</span></span> | 52 | ····are·consequences·of·the·axiomatization·in·<span·class="inlinecode"><span·class="id"·title="var">FsetInterface</span></span> | 
| 53 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FsetProperties</span></span>·it·uses | 53 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FsetProperties</span></span>·it·uses | 
| 54 | ····sets·operations·instead·of·predicates·over·sets,·i.e. | 54 | ····sets·operations·instead·of·predicates·over·sets,·i.e. | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab1 | 49 | <a·id="lab1193"></a><h1·class="section">Finite·sets·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>.·These | 51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>.·These | 
| 52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>·written·using | 52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>·written·using | 
| 53 | ··different·styles:·equivalence·and·boolean·equalities. | 53 | ··different·styles:·equivalence·and·boolean·equalities. | 
| 54 | ··Moreover,·we·prove·that·<span·class="inlinecode"><span·class="id"·title="var">E.Eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·are·setoid·equalities. | 54 | ··Moreover,·we·prove·that·<span·class="inlinecode"><span·class="id"·title="var">E.Eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·are·setoid·equalities. | 
| Offset 84, 15 lines modified | Offset 84, 15 lines modified | ||
| 84 | <span·class="id"·title="keyword">Notation</span>·<a·id="WFactsOn.eq_dec"·class="idref"·href="#WFactsOn.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetFacts.html#E.eq_dec"><span·class="id"·title="axiom">E.eq_dec</span></a>.<br/> | 84 | <span·class="id"·title="keyword">Notation</span>·<a·id="WFactsOn.eq_dec"·class="idref"·href="#WFactsOn.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetFacts.html#E.eq_dec"><span·class="id"·title="axiom">E.eq_dec</span></a>.<br/> | 
| 85 | <span·class="id"·title="keyword">Definition</span>·<a·id="WFactsOn.eqb"·class="idref"·href="#WFactsOn.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#y:2"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 85 | <span·class="id"·title="keyword">Definition</span>·<a·id="WFactsOn.eqb"·class="idref"·href="#WFactsOn.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#y:2"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 
| 86 | <br/> | 86 | <br/> | 
| 87 | </div> | 87 | </div> | 
| 88 | <div·class="doc"> | 88 | <div·class="doc"> | 
| 89 | <a·id="lab1 | 89 | <a·id="lab1194"></a><h1·class="section">Specifications·written·using·implications·:</h1> | 
| 90 | ······this·used·to·be·the·default·interface.· | 90 | ······this·used·to·be·the·default·interface.· | 
| 91 | </div> | 91 | </div> | 
| 92 | <div·class="code"> | 92 | <div·class="code"> | 
| 93 | <br/> | 93 | <br/> | 
| 94 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.ImplSpec"·class="idref"·href="#WFactsOn.ImplSpec"><span·class="id"·title="section">ImplSpec</span></a>.<br/> | 94 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.ImplSpec"·class="idref"·href="#WFactsOn.ImplSpec"><span·class="id"·title="section">ImplSpec</span></a>.<br/> | 
| Offset 201, 15 lines modified | Offset 201, 15 lines modified | ||
| 201 |     <span·class="id"·title="var">filter_1</span>·<span·class="id"·title="var">filter_2</span>·<span·class="id"·title="var">for_all_2</span>·<span·class="id"·title="var">exists_2</span>·<span·class="id"·title="var">elements_2</span><br/> | 201 |     <span·class="id"·title="var">filter_1</span>·<span·class="id"·title="var">filter_2</span>·<span·class="id"·title="var">for_all_2</span>·<span·class="id"·title="var">exists_2</span>·<span·class="id"·title="var">elements_2</span><br/> | 
| 202 |     :·<span·class="id"·title="tactic">set</span>.<br/> | 202 |     :·<span·class="id"·title="tactic">set</span>.<br/> | 
| 203 | <br/> | 203 | <br/> | 
| 204 | </div> | 204 | </div> | 
| 205 | <div·class="doc"> | 205 | <div·class="doc"> | 
| 206 | <a·id="lab1 | 206 | <a·id="lab1195"></a><h1·class="section">Specifications·written·using·equivalences·:</h1> | 
| 207 | ······this·is·now·provided·by·the·default·interface.· | 207 | ······this·is·now·provided·by·the·default·interface.· | 
| 208 | </div> | 208 | </div> | 
| 209 | <div·class="code"> | 209 | <div·class="code"> | 
| 210 | <br/> | 210 | <br/> | 
| 211 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.IffSpec"·class="idref"·href="#WFactsOn.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> | 211 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.IffSpec"·class="idref"·href="#WFactsOn.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> | 
| Offset 290, 15 lines modified | Offset 290, 15 lines modified | ||
| 290 |   ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.union_iff"><span·class="id"·title="abbreviation">union_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.inter_iff"><span·class="id"·title="abbreviation">inter_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.diff_iff"><span·class="id"·title="abbreviation">diff_iff</span></a><br/> | 290 |   ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.union_iff"><span·class="id"·title="abbreviation">union_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.inter_iff"><span·class="id"·title="abbreviation">inter_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.diff_iff"><span·class="id"·title="abbreviation">diff_iff</span></a><br/> | 
| 291 |   ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.empty_iff"><span·class="id"·title="lemma">empty_iff</span></a>)).<br/> | 291 |   ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.empty_iff"><span·class="id"·title="lemma">empty_iff</span></a>)).<br/> | 
| 292 | <br/> | 292 | <br/> | 
| 293 | </div> | 293 | </div> | 
| 294 | <div·class="doc"> | 294 | <div·class="doc"> | 
| 295 | <a·id="lab1 | 295 | <a·id="lab1196"></a><h1·class="section">Specifications·written·using·boolean·predicates</h1> | 
| 296 | </div> | 296 | </div> | 
| 297 | <div·class="code"> | 297 | <div·class="code"> | 
| 298 | <br/> | 298 | <br/> | 
| 299 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.BoolSpec"·class="idref"·href="#WFactsOn.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 299 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.BoolSpec"·class="idref"·href="#WFactsOn.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 
| 300 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFactsOn.BoolSpec.s"·class="idref"·href="#WFactsOn.BoolSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFactsOn.BoolSpec.s'"·class="idref"·href="#WFactsOn.BoolSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFactsOn.BoolSpec.s''"·class="idref"·href="#WFactsOn.BoolSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 300 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFactsOn.BoolSpec.s"·class="idref"·href="#WFactsOn.BoolSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFactsOn.BoolSpec.s'"·class="idref"·href="#WFactsOn.BoolSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFactsOn.BoolSpec.s''"·class="idref"·href="#WFactsOn.BoolSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 
| Offset 354, 15 lines modified | Offset 354, 15 lines modified | ||
| 354 | <br/> | 354 | <br/> | 
| 355 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 355 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 
| 356 | <br/> | 356 | <br/> | 
| 357 | </div> | 357 | </div> | 
| 358 | <div·class="doc"> | 358 | <div·class="doc"> | 
| 359 | <a·id="lab1 | 359 | <a·id="lab1197"></a><h1·class="section">Declarations·of·morphisms·with·respects·to·<span·class="inlinecode"><span·class="id"·title="var">E.eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span></h1> | 
| 360 | </div> | 360 | </div> | 
| 361 | <div·class="code"> | 361 | <div·class="code"> | 
| 362 | <br/> | 362 | <br/> | 
| 363 | #[<span·class="id"·title="var">global</span>]<br/> | 363 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 364 | <span·class="id"·title="keyword">Instance</span>·<a·id="WFactsOn.In_m"·class="idref"·href="#WFactsOn.In_m"><span·class="id"·title="instance">In_m</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.MSets.MSetFacts.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.MSets.MSetFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.MSets.MSetFacts.html#M.In"><span·class="id"·title="axiom">In</span></a>.<br/> | 364 | <span·class="id"·title="keyword">Instance</span>·<a·id="WFactsOn.In_m"·class="idref"·href="#WFactsOn.In_m"><span·class="id"·title="instance">In_m</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.MSets.MSetFacts.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.MSets.MSetFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.MSets.MSetFacts.html#M.In"><span·class="id"·title="axiom">In</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab1 | 49 | <a·id="lab1083"></a><h1·class="section">MSetGenTree·:·sets·via·generic·trees</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····This·module·factorizes·common·parts·in·implementations | 51 | ····This·module·factorizes·common·parts·in·implementations | 
| 52 | ····of·finite·sets·as·AVL·trees·and·as·Red-Black·trees.·The·nodes | 52 | ····of·finite·sets·as·AVL·trees·and·as·Red-Black·trees.·The·nodes | 
| 53 | ····of·the·trees·defined·here·include·an·generic·information | 53 | ····of·the·trees·defined·here·include·an·generic·information | 
| Offset 103, 15 lines modified | Offset 103, 15 lines modified | ||
| 103 |  <span·class="id"·title="keyword">Parameter</span>·<a·id="InfoTyp.t"·class="idref"·href="#InfoTyp.t"><span·class="id"·title="axiom">t</span></a>·:·<span·class="id"·title="keyword">Set</span>.<br/> | 103 |  <span·class="id"·title="keyword">Parameter</span>·<a·id="InfoTyp.t"·class="idref"·href="#InfoTyp.t"><span·class="id"·title="axiom">t</span></a>·:·<span·class="id"·title="keyword">Set</span>.<br/> | 
| 104 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#InfoTyp"><span·class="id"·title="module">InfoTyp</span></a>.<br/> | 104 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#InfoTyp"><span·class="id"·title="module">InfoTyp</span></a>.<br/> | 
| 105 | <br/> | 105 | <br/> | 
| 106 | </div> | 106 | </div> | 
| 107 | <div·class="doc"> | 107 | <div·class="doc"> | 
| 108 | <a·id="lab1 | 108 | <a·id="lab1084"></a><h1·class="section">Ops·:·the·pure·functions</h1> | 
| 109 | </div> | 109 | </div> | 
| 110 | <div·class="code"> | 110 | <div·class="code"> | 
| 111 | <br/> | 111 | <br/> | 
| 112 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>)(<span·class="id"·title="var">Info</span>:<a·class="idref"·href="Coq.MSets.MSetGenTree.html#InfoTyp"><span·class="id"·title="module">InfoTyp</span></a>).<br/> | 112 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>)(<span·class="id"·title="var">Info</span>:<a·class="idref"·href="Coq.MSets.MSetGenTree.html#InfoTyp"><span·class="id"·title="module">InfoTyp</span></a>).<br/> | 
| Offset 125, 15 lines modified | Offset 125, 15 lines modified | ||
| 125 | |·<a·id="Ops.Leaf"·class="idref"·href="#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a><br/> | 125 | |·<a·id="Ops.Leaf"·class="idref"·href="#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a><br/> | 
| 126 | |·<a·id="Ops.Node"·class="idref"·href="#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Info.t"><span·class="id"·title="axiom">Info.t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#X.t"><span·class="id"·title="axiom">X.t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a>.<br/> | 126 | |·<a·id="Ops.Node"·class="idref"·href="#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Info.t"><span·class="id"·title="axiom">Info.t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#X.t"><span·class="id"·title="axiom">X.t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a>.<br/> | 
| 127 | <br/> | 127 | <br/> | 
| 128 | </div> | 128 | </div> | 
| 129 | <div·class="doc"> | 129 | <div·class="doc"> | 
| 130 | <a·id="lab1 | 130 | <a·id="lab1085"></a><h2·class="section">The·empty·set·and·emptyness·test</h2> | 
| 131 | </div> | 131 | </div> | 
| 132 | <div·class="code"> | 132 | <div·class="code"> | 
| 133 | <br/> | 133 | <br/> | 
| 134 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.empty"·class="idref"·href="#Ops.empty"><span·class="id"·title="definition">empty</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 134 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.empty"·class="idref"·href="#Ops.empty"><span·class="id"·title="definition">empty</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 
| Offset 144, 15 lines modified | Offset 144, 15 lines modified | ||
| 144 |  |·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a><br/> | 144 |  |·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a><br/> | 
| 145 |  <span·class="id"·title="keyword">end</span>.<br/> | 145 |  <span·class="id"·title="keyword">end</span>.<br/> | 
| 146 | <br/> | 146 | <br/> | 
| 147 | </div> | 147 | </div> | 
| 148 | <div·class="doc"> | 148 | <div·class="doc"> | 
| 149 | <a·id="lab1 | 149 | <a·id="lab1086"></a><h2·class="section">Membership·test</h2> | 
| 150 | <div·class="paragraph">·</div> | 150 | <div·class="paragraph">·</div> | 
| 151 | ·The·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·function·is·deciding·membership.·It·exploits·the | 151 | ·The·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·function·is·deciding·membership.·It·exploits·the | 
| 152 | ····binary·search·tree·invariant·to·achieve·logarithmic·complexity.· | 152 | ····binary·search·tree·invariant·to·achieve·logarithmic·complexity.· | 
| 153 | </div> | 153 | </div> | 
| 154 | <div·class="code"> | 154 | <div·class="code"> | 
| Offset 169, 15 lines modified | Offset 169, 15 lines modified | ||
| 169 |    <span·class="id"·title="keyword">end</span><br/> | 169 |    <span·class="id"·title="keyword">end</span><br/> | 
| 170 |  <span·class="id"·title="keyword">end</span>.<br/> | 170 |  <span·class="id"·title="keyword">end</span>.<br/> | 
| 171 | <br/> | 171 | <br/> | 
| 172 | </div> | 172 | </div> | 
| 173 | <div·class="doc"> | 173 | <div·class="doc"> | 
| 174 | <a·id="lab1 | 174 | <a·id="lab1087"></a><h2·class="section">Minimal,·maximal,·arbitrary·elements</h2> | 
| 175 | </div> | 175 | </div> | 
| 176 | <div·class="code"> | 176 | <div·class="code"> | 
| 177 | <br/> | 177 | <br/> | 
| 178 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.min_elt"·class="idref"·href="#Ops.min_elt"><span·class="id"·title="definition">min_elt</span></a>·(<a·id="t:11"·class="idref"·href="#t:11"><span·class="id"·title="binder">t</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.elt"><span·class="id"·title="definition">elt</span></a>·:=<br/> | 178 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.min_elt"·class="idref"·href="#Ops.min_elt"><span·class="id"·title="definition">min_elt</span></a>·(<a·id="t:11"·class="idref"·href="#t:11"><span·class="id"·title="binder">t</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.elt"><span·class="id"·title="definition">elt</span></a>·:=<br/> | 
| 179 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#t:11"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> | 179 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#t:11"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 197, 15 lines modified | Offset 197, 15 lines modified | ||
| 197 | <br/> | 197 | <br/> | 
| 198 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.choose"·class="idref"·href="#Ops.choose"><span·class="id"·title="definition">choose</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.min_elt"><span·class="id"·title="definition">min_elt</span></a>.<br/> | 198 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.choose"·class="idref"·href="#Ops.choose"><span·class="id"·title="definition">choose</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.min_elt"><span·class="id"·title="definition">min_elt</span></a>.<br/> | 
| 199 | <br/> | 199 | <br/> | 
| 200 | </div> | 200 | </div> | 
| 201 | <div·class="doc"> | 201 | <div·class="doc"> | 
| 202 | <a·id="lab1 | 202 | <a·id="lab1088"></a><h2·class="section">Iteration·on·elements</h2> | 
| 203 | </div> | 203 | </div> | 
| 204 | <div·class="code"> | 204 | <div·class="code"> | 
| 205 | <br/> | 205 | <br/> | 
| 206 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.fold"·class="idref"·href="#Ops.fold"><span·class="id"·title="definition">fold</span></a>·{<a·id="A:17"·class="idref"·href="#A:17"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">Type</span>}·(<a·id="f:18"·class="idref"·href="#f:18"><span·class="id"·title="binder">f</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.elt"><span·class="id"·title="definition">elt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>)·(<a·id="t:19"·class="idref"·href="#t:19"><span·class="id"·title="binder">t</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·(<a·id="base:20"·class="idref"·href="#base:20"><span·class="id"·title="binder">base</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>·:=<br/> | 206 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.fold"·class="idref"·href="#Ops.fold"><span·class="id"·title="definition">fold</span></a>·{<a·id="A:17"·class="idref"·href="#A:17"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">Type</span>}·(<a·id="f:18"·class="idref"·href="#f:18"><span·class="id"·title="binder">f</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.elt"><span·class="id"·title="definition">elt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>)·(<a·id="t:19"·class="idref"·href="#t:19"><span·class="id"·title="binder">t</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·(<a·id="base:20"·class="idref"·href="#base:20"><span·class="id"·title="binder">base</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>·:=<br/> | 
| 207 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#t:19"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> | 207 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#t:19"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 254, 15 lines modified | Offset 254, 15 lines modified | ||
| 254 |  |·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">r</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.Init.Peano.html#min"><span·class="id"·title="abbreviation">min</span></a>·(<a·class="idref"·href="Coq.MSets.MSetGenTree.html#mindepth:38"><span·class="id"·title="definition">mindepth</span></a>·<span·class="id"·title="var">l</span>)·(<a·class="idref"·href="Coq.MSets.MSetGenTree.html#mindepth:38"><span·class="id"·title="definition">mindepth</span></a>·<span·class="id"·title="var">r</span>))<br/> | 254 |  |·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">r</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.Init.Peano.html#min"><span·class="id"·title="abbreviation">min</span></a>·(<a·class="idref"·href="Coq.MSets.MSetGenTree.html#mindepth:38"><span·class="id"·title="definition">mindepth</span></a>·<span·class="id"·title="var">l</span>)·(<a·class="idref"·href="Coq.MSets.MSetGenTree.html#mindepth:38"><span·class="id"·title="definition">mindepth</span></a>·<span·class="id"·title="var">r</span>))<br/> | 
| 255 |  <span·class="id"·title="keyword">end</span>.<br/> | 255 |  <span·class="id"·title="keyword">end</span>.<br/> | 
| 256 | <br/> | 256 | <br/> | 
| 257 | </div> | 257 | </div> | 
| 258 | <div·class="doc"> | 258 | <div·class="doc"> | 
| 259 | <a·id="lab1 | 259 | <a·id="lab1089"></a><h2·class="section">Testing·universal·or·existential·properties.</h2> | 
| 260 | <div·class="paragraph">·</div> | 260 | <div·class="paragraph">·</div> | 
| 261 | ·We·do·not·use·the·standard·boolean·operators·of·Coq, | 261 | ·We·do·not·use·the·standard·boolean·operators·of·Coq, | 
| 262 | ····but·lazy·ones.· | 262 | ····but·lazy·ones.· | 
| 263 | </div> | 263 | </div> | 
| 264 | <div·class="code"> | 264 | <div·class="code"> | 
| Offset 279, 15 lines modified | Offset 279, 15 lines modified | ||
| 279 |   |·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">r</span>·=>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Bool.Bool.html#0355f6c50df14bfb34d066e9a1089633"><span·class="id"·title="notation">|||</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#exists_:46"><span·class="id"·title="definition">exists_</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">l</span>·<a·class="idref"·href="Coq.Bool.Bool.html#0355f6c50df14bfb34d066e9a1089633"><span·class="id"·title="notation">|||</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#exists_:46"><span·class="id"·title="definition">exists_</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">r</span><br/> | 279 |   |·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">r</span>·=>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Bool.Bool.html#0355f6c50df14bfb34d066e9a1089633"><span·class="id"·title="notation">|||</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#exists_:46"><span·class="id"·title="definition">exists_</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">l</span>·<a·class="idref"·href="Coq.Bool.Bool.html#0355f6c50df14bfb34d066e9a1089633"><span·class="id"·title="notation">|||</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#exists_:46"><span·class="id"·title="definition">exists_</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">r</span><br/> | 
| 280 | <span·class="id"·title="keyword">end</span>.<br/> | 280 | <span·class="id"·title="keyword">end</span>.<br/> | 
| 281 | <br/> | 281 | <br/> | 
| 282 | </div> | 282 | </div> | 
| 283 | <div·class="doc"> | 283 | <div·class="doc"> | 
| 284 | <a·id="lab1 | 284 | <a·id="lab1090"></a><h2·class="section">Comparison·of·trees</h2> | 
| 285 | <div·class="paragraph">·</div> | 285 | <div·class="paragraph">·</div> | 
| 286 | ·The·algorithm·here·has·been·suggested·by·Xavier·Leroy, | 286 | ·The·algorithm·here·has·been·suggested·by·Xavier·Leroy, | 
| 287 | ····and·transformed·into·c.p.s.·by·Benjamin·Grégoire. | 287 | ····and·transformed·into·c.p.s.·by·Benjamin·Grégoire. | 
| 288 | ····The·original·ocaml·code·(with·non-structural·recursive·calls) | 288 | ····The·original·ocaml·code·(with·non-structural·recursive·calls) | 
| 289 | ····has·also·been·formalized·(thanks·to·Function+measure),·see | 289 | ····has·also·been·formalized·(thanks·to·Function+measure),·see | 
| Max diff block lines reached; 51558/62031 bytes (83.12%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab1 | 49 | <a·id="lab1144"></a><h1·class="section">Finite·set·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·Set·interfaces,·inspired·by·the·one·of·Ocaml.·When·compared·with | 51 | ·Set·interfaces,·inspired·by·the·one·of·Ocaml.·When·compared·with | 
| 52 | ····Ocaml,·the·main·differences·are: | 52 | ····Ocaml,·the·main·differences·are: | 
| 53 | <ul·class="doclist"> | 53 | <ul·class="doclist"> | 
| 54 | <li>·the·lack·of·<span·class="inlinecode"><span·class="id"·title="var">iter</span></span>·function,·useless·since·Coq·is·purely·functional | 54 | <li>·the·lack·of·<span·class="inlinecode"><span·class="id"·title="var">iter</span></span>·function,·useless·since·Coq·is·purely·functional | 
| Offset 314, 15 lines modified | Offset 314, 15 lines modified | ||
| 314 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#HasWOps"><span·class="id"·title="module">HasWOps</span></a>.<br/> | 314 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#HasWOps"><span·class="id"·title="module">HasWOps</span></a>.<br/> | 
| 315 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WOps"><span·class="id"·title="module">WOps</span></a>.<br/> | 315 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WOps"><span·class="id"·title="module">WOps</span></a>.<br/> | 
| 316 | <br/> | 316 | <br/> | 
| 317 | </div> | 317 | </div> | 
| 318 | <div·class="doc"> | 318 | <div·class="doc"> | 
| 319 | <a·id="lab1 | 319 | <a·id="lab1145"></a><h2·class="section">Functorial·signature·for·weak·sets</h2> | 
| 320 | <div·class="paragraph">·</div> | 320 | <div·class="paragraph">·</div> | 
| 321 | ····Weak·sets·are·sets·without·ordering·on·base·elements,·only | 321 | ····Weak·sets·are·sets·without·ordering·on·base·elements,·only | 
| 322 | ····a·decidable·equality.· | 322 | ····a·decidable·equality.· | 
| 323 | </div> | 323 | </div> | 
| Offset 428, 15 lines modified | Offset 428, 15 lines modified | ||
| 428 | <br/> | 428 | <br/> | 
| 429 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>.<br/> | 429 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>.<br/> | 
| 430 | <br/> | 430 | <br/> | 
| 431 | </div> | 431 | </div> | 
| 432 | <div·class="doc"> | 432 | <div·class="doc"> | 
| 433 | <a·id="lab11 | 433 | <a·id="lab1146"></a><h2·class="section">Static·signature·for·weak·sets</h2> | 
| 434 | <div·class="paragraph">·</div> | 434 | <div·class="paragraph">·</div> | 
| 435 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">WSetsOn</span></span>,·except·that·the | 435 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">WSetsOn</span></span>,·except·that·the | 
| 436 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 436 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 
| 437 | </div> | 437 | </div> | 
| Offset 448, 15 lines modified | Offset 448, 15 lines modified | ||
| 448 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSets.E"><span·class="id"·title="module">E</span></a>.<br/> | 448 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSets.E"><span·class="id"·title="module">E</span></a>.<br/> | 
| 449 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSets"><span·class="id"·title="module">WSets</span></a>.<br/> | 449 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSets"><span·class="id"·title="module">WSets</span></a>.<br/> | 
| 450 | <br/> | 450 | <br/> | 
| 451 | </div> | 451 | </div> | 
| 452 | <div·class="doc"> | 452 | <div·class="doc"> | 
| 453 | <a·id="lab11 | 453 | <a·id="lab1147"></a><h2·class="section">Functorial·signature·for·sets·on·ordered·elements</h2> | 
| 454 | <div·class="paragraph">·</div> | 454 | <div·class="paragraph">·</div> | 
| 455 | ····Based·on·<span·class="inlinecode"><span·class="id"·title="var">WSetsOn</span></span>,·plus·ordering·on·sets·and·<span·class="inlinecode"><span·class="id"·title="var">min_elt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">max_elt</span></span> | 455 | ····Based·on·<span·class="inlinecode"><span·class="id"·title="var">WSetsOn</span></span>,·plus·ordering·on·sets·and·<span·class="inlinecode"><span·class="id"·title="var">min_elt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">max_elt</span></span> | 
| 456 | ····and·some·stronger·specifications·for·other·functions.· | 456 | ····and·some·stronger·specifications·for·other·functions.· | 
| 457 | </div> | 457 | </div> | 
| Offset 560, 15 lines modified | Offset 560, 15 lines modified | ||
| 560 | <br/> | 560 | <br/> | 
| 561 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#SetsOn"><span·class="id"·title="module">SetsOn</span></a>.<br/> | 561 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#SetsOn"><span·class="id"·title="module">SetsOn</span></a>.<br/> | 
| 562 | <br/> | 562 | <br/> | 
| 563 | </div> | 563 | </div> | 
| 564 | <div·class="doc"> | 564 | <div·class="doc"> | 
| 565 | <a·id="lab11 | 565 | <a·id="lab1148"></a><h2·class="section">Static·signature·for·sets·on·ordered·elements</h2> | 
| 566 | <div·class="paragraph">·</div> | 566 | <div·class="paragraph">·</div> | 
| 567 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">SetsOn</span></span>,·except·that·the | 567 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">SetsOn</span></span>,·except·that·the | 
| 568 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 568 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 
| 569 | </div> | 569 | </div> | 
| Offset 583, 15 lines modified | Offset 583, 15 lines modified | ||
| 583 | <br/> | 583 | <br/> | 
| 584 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="S"·class="idref"·href="#S"><span·class="id"·title="module">S</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Sets"><span·class="id"·title="module">Sets</span></a>.<br/> | 584 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="S"·class="idref"·href="#S"><span·class="id"·title="module">S</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Sets"><span·class="id"·title="module">Sets</span></a>.<br/> | 
| 585 | <br/> | 585 | <br/> | 
| 586 | </div> | 586 | </div> | 
| 587 | <div·class="doc"> | 587 | <div·class="doc"> | 
| 588 | <a·id="lab11 | 588 | <a·id="lab1149"></a><h2·class="section">Some·subtyping·tests</h2> | 
| 589 | <pre> | 589 | <pre> | 
| 590 | WSetsOn·--->·WSets | 590 | WSetsOn·--->·WSets | 
| 591 | ·|···········| | 591 | ·|···········| | 
| 592 | ·|···········| | 592 | ·|···········| | 
| 593 | ·V···········V | 593 | ·V···········V | 
| 594 | SetsOn··--->·Sets | 594 | SetsOn··--->·Sets | 
| Offset 600, 15 lines modified | Offset 600, 15 lines modified | ||
| 600 | Module·Sfun_WSfun·(E:OrderedType)(M·:·SetsOn·E)·<:·WSetsOn·E·:=·M. | 600 | Module·Sfun_WSfun·(E:OrderedType)(M·:·SetsOn·E)·<:·WSetsOn·E·:=·M. | 
| 601 | Module·S_Sfun·(M·:·Sets)·<:·SetsOn·M.E·:=·M. | 601 | Module·S_Sfun·(M·:·Sets)·<:·SetsOn·M.E·:=·M. | 
| 602 | Module·WS_WSfun·(M·:·WSets)·<:·WSetsOn·M.E·:=·M. | 602 | Module·WS_WSfun·(M·:·WSets)·<:·WSetsOn·M.E·:=·M. | 
| 603 | </pre> | 603 | </pre> | 
| 604 | <div·class="paragraph">·</div> | 604 | <div·class="paragraph">·</div> | 
| 605 | <a·id="lab11 | 605 | <a·id="lab1150"></a><h2·class="section">Signatures·for·set·representations·with·ill-formed·values.</h2> | 
| 606 | <div·class="paragraph">·</div> | 606 | <div·class="paragraph">·</div> | 
| 607 | ···Motivation: | 607 | ···Motivation: | 
| 608 | <div·class="paragraph">·</div> | 608 | <div·class="paragraph">·</div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab1 | 49 | <a·id="lab1206"></a><h1·class="section">Finite·sets·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 
| 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>·using·strictly·ordered·list.· | 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>·using·strictly·ordered·list.· | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="code"> | 54 | <div·class="code"> | 
| Offset 62, 15 lines modified | Offset 62, 15 lines modified | ||
| 62 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Structures.OrdersLists.html#"><span·class="id"·title="library">OrdersLists</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Structures.OrdersLists.html#"><span·class="id"·title="library">OrdersLists</span></a>.<br/> | 
| 63 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 63 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 64 | <br/> | 64 | <br/> | 
| 65 | </div> | 65 | </div> | 
| 66 | <div·class="doc"> | 66 | <div·class="doc"> | 
| 67 | <a·id="lab107 | 67 | <a·id="lab1207"></a><h1·class="section">Functions·over·lists</h1> | 
| 68 | <div·class="paragraph">·</div> | 68 | <div·class="paragraph">·</div> | 
| 69 | ···First,·we·provide·sets·as·lists·which·are·not·necessarily·sorted. | 69 | ···First,·we·provide·sets·as·lists·which·are·not·necessarily·sorted. | 
| 70 | ···The·specs·are·proved·under·the·additional·condition·of·being·sorted. | 70 | ···The·specs·are·proved·under·the·additional·condition·of·being·sorted. | 
| 71 | ···And·the·functions·returning·sets·are·proved·to·preserve·this·invariant.· | 71 | ···And·the·functions·returning·sets·are·proved·to·preserve·this·invariant.· | 
| Offset 90, 15 lines modified | Offset 90, 15 lines modified | ||
| 90 | <br/> | 90 | <br/> | 
| 91 |   <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.is_empty"·class="idref"·href="#Ops.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:1"·class="idref"·href="#l:1"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetList.html#Ops.t"><span·class="id"·title="definition">t</span></a>)·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#l:1"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 91 |   <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.is_empty"·class="idref"·href="#Ops.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:1"·class="idref"·href="#l:1"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetList.html#Ops.t"><span·class="id"·title="definition">t</span></a>)·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#l:1"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 
| 92 | <br/> | 92 | <br/> | 
| 93 | </div> | 93 | </div> | 
| 94 | <div·class="doc"> | 94 | <div·class="doc"> | 
| 95 | <a·id="lab108 | 95 | <a·id="lab1208"></a><h2·class="section">The·set·operations.</h2> | 
| 96 | </div> | 96 | </div> | 
| 97 | <div·class="code"> | 97 | <div·class="code"> | 
| 98 | <br/> | 98 | <br/> | 
| 99 |   <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.mem"·class="idref"·href="#Ops.mem"><span·class="id"·title="definition">mem</span></a>·<a·id="x:2"·class="idref"·href="#x:2"><span·class="id"·title="binder">x</span></a>·<a·id="s:3"·class="idref"·href="#s:3"><span·class="id"·title="binder">s</span></a>·:=<br/> | 99 |   <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.mem"·class="idref"·href="#Ops.mem"><span·class="id"·title="definition">mem</span></a>·<a·id="x:2"·class="idref"·href="#x:2"><span·class="id"·title="binder">x</span></a>·<a·id="s:3"·class="idref"·href="#s:3"><span·class="id"·title="binder">s</span></a>·:=<br/> | 
| 100 |     <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#s:3"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 100 |     <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#s:3"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 298, 15 lines modified | Offset 298, 15 lines modified | ||
| 298 | <br/> | 298 | <br/> | 
| 299 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#Ops"><span·class="id"·title="module">Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 299 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#Ops"><span·class="id"·title="module">Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 
| 300 | <br/> | 300 | <br/> | 
| 301 | </div> | 301 | </div> | 
| 302 | <div·class="doc"> | 302 | <div·class="doc"> | 
| 303 | <a·id="lab1 | 303 | <a·id="lab1209"></a><h2·class="section">Proofs·of·set·operation·specifications.</h2> | 
| 304 | </div> | 304 | </div> | 
| 305 | <div·class="code"> | 305 | <div·class="code"> | 
| 306 | <br/> | 306 | <br/> | 
| 307 |   <span·class="id"·title="keyword">Section</span>·<a·id="MakeRaw.ForNotations"·class="idref"·href="#MakeRaw.ForNotations"><span·class="id"·title="section">ForNotations</span></a>.<br/> | 307 |   <span·class="id"·title="keyword">Section</span>·<a·id="MakeRaw.ForNotations"·class="idref"·href="#MakeRaw.ForNotations"><span·class="id"·title="section">ForNotations</span></a>.<br/> | 
| Offset 639, 15 lines modified | Offset 639, 15 lines modified | ||
| 639 | <br/> | 639 | <br/> | 
| 640 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>.<br/> | 640 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>.<br/> | 
| 641 | <br/> | 641 | <br/> | 
| 642 | </div> | 642 | </div> | 
| 643 | <div·class="doc"> | 643 | <div·class="doc"> | 
| 644 | <a·id="lab1 | 644 | <a·id="lab1210"></a><h1·class="section">Encapsulation</h1> | 
| 645 | <div·class="paragraph">·</div> | 645 | <div·class="paragraph">·</div> | 
| 646 | ···Now,·in·order·to·really·provide·a·functor·implementing·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>,·we | 646 | ···Now,·in·order·to·really·provide·a·functor·implementing·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>,·we | 
| 647 | ···need·to·encapsulate·everything·into·a·type·of·strictly·ordered·lists.· | 647 | ···need·to·encapsulate·everything·into·a·type·of·strictly·ordered·lists.· | 
| 648 | </div> | 648 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab10 | 49 | <a·id="lab1069"></a><h1·class="section">Finite·sets·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·functor·derives·additional·properties·from·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>. | 51 | ·This·functor·derives·additional·properties·from·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>. | 
| 52 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">MSetEqProperties</span></span>·it·uses | 52 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">MSetEqProperties</span></span>·it·uses | 
| 53 | ····predicates·over·sets·instead·of·sets·operations,·i.e. | 53 | ····predicates·over·sets·instead·of·sets·operations,·i.e. | 
| 54 | ····<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·instead·of·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span>=<span·class="id"·title="var">true</span></span>, | 54 | ····<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·instead·of·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span>=<span·class="id"·title="var">true</span></span>, | 
| Offset 338, 30 lines modified | Offset 338, 30 lines modified | ||
| 338 |     <span·class="id"·title="var">remove_diff_singleton</span>·<span·class="id"·title="var">diff_inter_empty</span>·<span·class="id"·title="var">diff_inter_all</span>·<span·class="id"·title="var">Add_add</span>·<span·class="id"·title="var">Add_remove</span><br/> | 338 |     <span·class="id"·title="var">remove_diff_singleton</span>·<span·class="id"·title="var">diff_inter_empty</span>·<span·class="id"·title="var">diff_inter_all</span>·<span·class="id"·title="var">Add_add</span>·<span·class="id"·title="var">Add_remove</span><br/> | 
| 339 |     <span·class="id"·title="var">Equal_remove</span>·<span·class="id"·title="var">add_add</span>·:·<span·class="id"·title="tactic">set</span>.<br/> | 339 |     <span·class="id"·title="var">Equal_remove</span>·<span·class="id"·title="var">add_add</span>·:·<span·class="id"·title="tactic">set</span>.<br/> | 
| 340 | <br/> | 340 | <br/> | 
| 341 | </div> | 341 | </div> | 
| 342 | <div·class="doc"> | 342 | <div·class="doc"> | 
| 343 | <a·id="lab10 | 343 | <a·id="lab1070"></a><h1·class="section">Properties·of·elements</h1> | 
| 344 | </div> | 344 | </div> | 
| 345 | <div·class="code"> | 345 | <div·class="code"> | 
| 346 | <br/> | 346 | <br/> | 
| 347 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.elements_Empty"·class="idref"·href="#WPropertiesOn.elements_Empty"><span·class="id"·title="lemma">elements_Empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 347 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.elements_Empty"·class="idref"·href="#WPropertiesOn.elements_Empty"><span·class="id"·title="lemma">elements_Empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 
| 348 | <br/> | 348 | <br/> | 
| 349 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.elements_empty"·class="idref"·href="#WPropertiesOn.elements_empty"><span·class="id"·title="lemma">elements_empty</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 349 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.elements_empty"·class="idref"·href="#WPropertiesOn.elements_empty"><span·class="id"·title="lemma">elements_empty</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 
| 350 | <br/> | 350 | <br/> | 
| 351 | </div> | 351 | </div> | 
| 352 | <div·class="doc"> | 352 | <div·class="doc"> | 
| 353 | <a·id="lab10 | 353 | <a·id="lab1071"></a><h1·class="section">Conversions·between·lists·and·sets</h1> | 
| 354 | </div> | 354 | </div> | 
| 355 | <div·class="code"> | 355 | <div·class="code"> | 
| 356 | <br/> | 356 | <br/> | 
| 357 |   <span·class="id"·title="keyword">Definition</span>·<a·id="WPropertiesOn.of_list"·class="idref"·href="#WPropertiesOn.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·id="l:29"·class="idref"·href="#l:29"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elt"><span·class="id"·title="definition">elt</span></a>)·:=·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#l:29"><span·class="id"·title="variable">l</span></a>.<br/> | 357 |   <span·class="id"·title="keyword">Definition</span>·<a·id="WPropertiesOn.of_list"·class="idref"·href="#WPropertiesOn.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·id="l:29"·class="idref"·href="#l:29"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elt"><span·class="id"·title="definition">elt</span></a>)·:=·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#l:29"><span·class="id"·title="variable">l</span></a>.<br/> | 
| Offset 377, 15 lines modified | Offset 377, 15 lines modified | ||
| 377 | <br/> | 377 | <br/> | 
| 378 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.of_list_3"·class="idref"·href="#WPropertiesOn.of_list_3"><span·class="id"·title="lemma">of_list_3</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>.<br/> | 378 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.of_list_3"·class="idref"·href="#WPropertiesOn.of_list_3"><span·class="id"·title="lemma">of_list_3</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>.<br/> | 
| 379 | <br/> | 379 | <br/> | 
| 380 | </div> | 380 | </div> | 
| 381 | <div·class="doc"> | 381 | <div·class="doc"> | 
| 382 | <a·id="lab10 | 382 | <a·id="lab1072"></a><h1·class="section">Fold</h1> | 
| 383 | </div> | 383 | </div> | 
| 384 | <div·class="code"> | 384 | <div·class="code"> | 
| 385 | <br/> | 385 | <br/> | 
| 386 |   <span·class="id"·title="keyword">Section</span>·<a·id="WPropertiesOn.Fold"·class="idref"·href="#WPropertiesOn.Fold"><span·class="id"·title="section">Fold</span></a>.<br/> | 386 |   <span·class="id"·title="keyword">Section</span>·<a·id="WPropertiesOn.Fold"·class="idref"·href="#WPropertiesOn.Fold"><span·class="id"·title="section">Fold</span></a>.<br/> | 
| Offset 405, 15 lines modified | Offset 405, 15 lines modified | ||
| 405 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_spec_right"·class="idref"·href="#WPropertiesOn.fold_spec_right"><span·class="id"·title="lemma">fold_spec_right</span></a>·(<a·id="s:34"·class="idref"·href="#s:34"><span·class="id"·title="binder">s</span></a>:<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.t"><span·class="id"·title="axiom">t</span></a>)(<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="i:36"·class="idref"·href="#i:36"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.MSets.MSetProperties.html#A:35"><span·class="id"·title="variable">A</span></a>)(<a·id="f:37"·class="idref"·href="#f:37"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elt"><span·class="id"·title="definition">elt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#A:35"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#A:35"><span·class="id"·title="variable">A</span></a>)·:<br/> | 405 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_spec_right"·class="idref"·href="#WPropertiesOn.fold_spec_right"><span·class="id"·title="lemma">fold_spec_right</span></a>·(<a·id="s:34"·class="idref"·href="#s:34"><span·class="id"·title="binder">s</span></a>:<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.t"><span·class="id"·title="axiom">t</span></a>)(<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="i:36"·class="idref"·href="#i:36"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.MSets.MSetProperties.html#A:35"><span·class="id"·title="variable">A</span></a>)(<a·id="f:37"·class="idref"·href="#f:37"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elt"><span·class="id"·title="definition">elt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#A:35"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#A:35"><span·class="id"·title="variable">A</span></a>)·:<br/> | 
| 406 |     <a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:34"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:36"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:36"><span·class="id"·title="variable">i</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:34"><span·class="id"·title="variable">s</span></a>)).<br/> | 406 |     <a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:34"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:36"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:36"><span·class="id"·title="variable">i</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:34"><span·class="id"·title="variable">s</span></a>)).<br/> | 
| 407 | <br/> | 407 | <br/> | 
| 408 | </div> | 408 | </div> | 
| 409 | <div·class="doc"> | 409 | <div·class="doc"> | 
| 410 | <a·id="lab10 | 410 | <a·id="lab1073"></a><h2·class="section">Induction·principles·for·fold·(contributed·by·S.·Lescuyer)</h2> | 
| 411 | <div·class="paragraph">·</div> | 411 | <div·class="paragraph">·</div> | 
| 412 | ·In·the·following·lemma,·the·step·hypothesis·is·deliberately·restricted | 412 | ·In·the·following·lemma,·the·step·hypothesis·is·deliberately·restricted | 
| 413 | ······to·the·precise·set·s·we·are·considering.· | 413 | ······to·the·precise·set·s·we·are·considering.· | 
| 414 | </div> | 414 | </div> | 
| 415 | <div·class="code"> | 415 | <div·class="code"> | 
| Offset 511, 15 lines modified | Offset 511, 15 lines modified | ||
| 511 | <br/> | 511 | <br/> | 
| 512 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_identity"·class="idref"·href="#WPropertiesOn.fold_identity"><span·class="id"·title="lemma">fold_identity</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:120"·class="idref"·href="#s:120"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>.<br/> | 512 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_identity"·class="idref"·href="#WPropertiesOn.fold_identity"><span·class="id"·title="lemma">fold_identity</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:120"·class="idref"·href="#s:120"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>.<br/> | 
| 513 | <br/> | 513 | <br/> | 
| 514 | </div> | 514 | </div> | 
| 515 | <div·class="doc"> | 515 | <div·class="doc"> | 
| 516 | <a·id="lab10 | 516 | <a·id="lab1074"></a><h2·class="section">Alternative·(weaker)·specifications·for·<span·class="inlinecode"><span·class="id"·title="tactic">fold</span></span></h2> | 
| 517 | <div·class="paragraph">·</div> | 517 | <div·class="paragraph">·</div> | 
| 518 | ·When·<span·class="inlinecode"><span·class="id"·title="var">MSets</span></span>·was·first·designed,·the·order·in·which·Ocaml's·<span·class="inlinecode"><span·class="id"·title="var">Set.fold</span></span> | 518 | ·When·<span·class="inlinecode"><span·class="id"·title="var">MSets</span></span>·was·first·designed,·the·order·in·which·Ocaml's·<span·class="inlinecode"><span·class="id"·title="var">Set.fold</span></span> | 
| 519 | ······takes·the·set·elements·was·unspecified.·This·specification·reflects | 519 | ······takes·the·set·elements·was·unspecified.·This·specification·reflects | 
| 520 | ······this·fact: | 520 | ······this·fact: | 
| 521 | ·· | 521 | ·· | 
| Offset 583, 15 lines modified | Offset 583, 15 lines modified | ||
| 583 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_commutes"·class="idref"·href="#WPropertiesOn.fold_commutes"><span·class="id"·title="lemma">fold_commutes</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:161"·class="idref"·href="#i:161"><span·class="id"·title="binder">i</span></a>·<a·id="s:162"·class="idref"·href="#s:162"><span·class="id"·title="binder">s</span></a>·<a·id="x:163"·class="idref"·href="#x:163"><span·class="id"·title="binder">x</span></a>,<br/> | 583 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_commutes"·class="idref"·href="#WPropertiesOn.fold_commutes"><span·class="id"·title="lemma">fold_commutes</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:161"·class="idref"·href="#i:161"><span·class="id"·title="binder">i</span></a>·<a·id="s:162"·class="idref"·href="#s:162"><span·class="id"·title="binder">s</span></a>·<a·id="x:163"·class="idref"·href="#x:163"><span·class="id"·title="binder">x</span></a>,<br/> | 
| 584 |    <a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>)).<br/> | 584 |    <a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>)).<br/> | 
| 585 | <br/> | 585 | <br/> | 
| 586 | </div> | 586 | </div> | 
| 587 | <div·class="doc"> | 587 | <div·class="doc"> | 
| 588 | <a·id="lab10 | 588 | <a·id="lab1075"></a><h2·class="section">Fold·is·a·morphism</h2> | 
| 589 | </div> | 589 | </div> | 
| 590 | <div·class="code"> | 590 | <div·class="code"> | 
| 591 | <br/> | 591 | <br/> | 
| 592 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_init"·class="idref"·href="#WPropertiesOn.fold_init"><span·class="id"·title="lemma">fold_init</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:168"·class="idref"·href="#i:168"><span·class="id"·title="binder">i</span></a>·<a·id="i':169"·class="idref"·href="#i':169"><span·class="id"·title="binder">i'</span></a>·<a·id="s:170"·class="idref"·href="#s:170"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 592 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_init"·class="idref"·href="#WPropertiesOn.fold_init"><span·class="id"·title="lemma">fold_init</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:168"·class="idref"·href="#i:168"><span·class="id"·title="binder">i</span></a>·<a·id="i':169"·class="idref"·href="#i':169"><span·class="id"·title="binder">i'</span></a>·<a·id="s:170"·class="idref"·href="#s:170"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 593 |    <a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>).<br/> | 593 |    <a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>).<br/> | 
| Offset 600, 15 lines modified | Offset 600, 15 lines modified | ||
| 600 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_equal"·class="idref"·href="#WPropertiesOn.fold_equal"><span·class="id"·title="lemma">fold_equal</span></a>·:<br/> | 600 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_equal"·class="idref"·href="#WPropertiesOn.fold_equal"><span·class="id"·title="lemma">fold_equal</span></a>·:<br/> | 
| 601 |    <span·class="id"·title="keyword">forall</span>·<a·id="i:171"·class="idref"·href="#i:171"><span·class="id"·title="binder">i</span></a>·<a·id="s:172"·class="idref"·href="#s:172"><span·class="id"·title="binder">s</span></a>·<a·id="s':173"·class="idref"·href="#s':173"><span·class="id"·title="binder">s'</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a><a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a><a·class="idref"·href="Coq.MSets.MSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>).<br/> | 601 |    <span·class="id"·title="keyword">forall</span>·<a·id="i:171"·class="idref"·href="#i:171"><span·class="id"·title="binder">i</span></a>·<a·id="s:172"·class="idref"·href="#s:172"><span·class="id"·title="binder">s</span></a>·<a·id="s':173"·class="idref"·href="#s':173"><span·class="id"·title="binder">s'</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a><a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a><a·class="idref"·href="Coq.MSets.MSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>).<br/> | 
| 602 | <br/> | 602 | <br/> | 
| 603 | </div> | 603 | </div> | 
| 604 | <div·class="doc"> | 604 | <div·class="doc"> | 
| 605 | <a·id="lab10 | 605 | <a·id="lab1076"></a><h2·class="section">Fold·and·other·set·operators</h2> | 
| 606 | </div> | 606 | </div> | 
| 607 | <div·class="code"> | 607 | <div·class="code"> | 
| 608 | <br/> | 608 | <br/> | 
| 609 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_empty"·class="idref"·href="#WPropertiesOn.fold_empty"><span·class="id"·title="lemma">fold_empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:174"·class="idref"·href="#i:174"><span·class="id"·title="binder">i</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>.<br/> | 609 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_empty"·class="idref"·href="#WPropertiesOn.fold_empty"><span·class="id"·title="lemma">fold_empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:174"·class="idref"·href="#i:174"><span·class="id"·title="binder">i</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>.<br/> | 
| Offset 652, 31 lines modified | Offset 652, 31 lines modified | ||
| Max diff block lines reached; 11485/30085 bytes (38.18%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab11 | 49 | <a·id="lab1151"></a><h1·class="section">MSetRBT·:·Implementation·of·MSetInterface·via·Red-Black·trees</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·Initial·author:·Andrew·W.·Appel,·2011. | 51 | ·Initial·author:·Andrew·W.·Appel,·2011. | 
| 52 | ····Extra·modifications·by:·Pierre·Letouzey | 52 | ····Extra·modifications·by:·Pierre·Letouzey | 
| 53 | <div·class="paragraph">·</div> | 53 | <div·class="paragraph">·</div> | 
| Offset 149, 27 lines modified | Offset 149, 27 lines modified | ||
| 149 |  <span·class="id"·title="keyword">Definition</span>·<a·id="Color.t"·class="idref"·href="#Color.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#color"><span·class="id"·title="inductive">color</span></a>.<br/> | 149 |  <span·class="id"·title="keyword">Definition</span>·<a·id="Color.t"·class="idref"·href="#Color.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#color"><span·class="id"·title="inductive">color</span></a>.<br/> | 
| 150 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Color"><span·class="id"·title="module">Color</span></a>.<br/> | 150 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Color"><span·class="id"·title="module">Color</span></a>.<br/> | 
| 151 | <br/> | 151 | <br/> | 
| 152 | </div> | 152 | </div> | 
| 153 | <div·class="doc"> | 153 | <div·class="doc"> | 
| 154 | <a·id="lab11 | 154 | <a·id="lab1152"></a><h1·class="section">Ops·:·the·pure·functions</h1> | 
| 155 | </div> | 155 | </div> | 
| 156 | <div·class="code"> | 156 | <div·class="code"> | 
| 157 | <br/> | 157 | <br/> | 
| 158 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">Orders.OrderedType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Ops"><span·class="id"·title="module">MSetInterface.Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 158 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">Orders.OrderedType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Ops"><span·class="id"·title="module">MSetInterface.Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 
| 159 | <br/> | 159 | <br/> | 
| 160 | </div> | 160 | </div> | 
| 161 | <div·class="doc"> | 161 | <div·class="doc"> | 
| 162 | <a·id="lab11 | 162 | <a·id="lab1153"></a><h2·class="section">Generic·trees·instantiated·with·color</h2> | 
| 163 | <div·class="paragraph">·</div> | 163 | <div·class="paragraph">·</div> | 
| 164 | ·We·reuse·a·generic·definition·of·trees·where·the·information | 164 | ·We·reuse·a·generic·definition·of·trees·where·the·information | 
| 165 | ····parameter·is·a·color.·Functions·like·mem·or·fold·are·also | 165 | ····parameter·is·a·color.·Functions·like·mem·or·fold·are·also | 
| 166 | ····provided·by·this·generic·functor.· | 166 | ····provided·by·this·generic·functor.· | 
| 167 | </div> | 167 | </div> | 
| Offset 183, 27 lines modified | Offset 183, 27 lines modified | ||
| 183 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.Rd"·class="idref"·href="#Ops.Rd"><span·class="id"·title="abbreviation">Rd</span></a>·:=·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Red"><span·class="id"·title="constructor">Red</span></a>).<br/> | 183 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.Rd"·class="idref"·href="#Ops.Rd"><span·class="id"·title="abbreviation">Rd</span></a>·:=·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Red"><span·class="id"·title="constructor">Red</span></a>).<br/> | 
| 184 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.Bk"·class="idref"·href="#Ops.Bk"><span·class="id"·title="abbreviation">Bk</span></a>·:=·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Black"><span·class="id"·title="constructor">Black</span></a>).<br/> | 184 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.Bk"·class="idref"·href="#Ops.Bk"><span·class="id"·title="abbreviation">Bk</span></a>·:=·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Black"><span·class="id"·title="constructor">Black</span></a>).<br/> | 
| 185 | <br/> | 185 | <br/> | 
| 186 | </div> | 186 | </div> | 
| 187 | <div·class="doc"> | 187 | <div·class="doc"> | 
| 188 | <a·id="lab11 | 188 | <a·id="lab1154"></a><h2·class="section">Basic·tree</h2> | 
| 189 | </div> | 189 | </div> | 
| 190 | <div·class="code"> | 190 | <div·class="code"> | 
| 191 | <br/> | 191 | <br/> | 
| 192 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.singleton"·class="idref"·href="#Ops.singleton"><span·class="id"·title="definition">singleton</span></a>·(<a·id="k:13"·class="idref"·href="#k:13"><span·class="id"·title="binder">k</span></a>:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.elt"><span·class="id"·title="definition">elt</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Bk"><span·class="id"·title="abbreviation">Bk</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#k:13"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 192 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.singleton"·class="idref"·href="#Ops.singleton"><span·class="id"·title="definition">singleton</span></a>·(<a·id="k:13"·class="idref"·href="#k:13"><span·class="id"·title="binder">k</span></a>:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.elt"><span·class="id"·title="definition">elt</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Bk"><span·class="id"·title="abbreviation">Bk</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#k:13"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 
| 193 | <br/> | 193 | <br/> | 
| 194 | </div> | 194 | </div> | 
| 195 | <div·class="doc"> | 195 | <div·class="doc"> | 
| 196 | <a·id="lab11 | 196 | <a·id="lab1155"></a><h2·class="section">Changing·root·color</h2> | 
| 197 | </div> | 197 | </div> | 
| 198 | <div·class="code"> | 198 | <div·class="code"> | 
| 199 | <br/> | 199 | <br/> | 
| 200 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.makeBlack"·class="idref"·href="#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·<a·id="t:14"·class="idref"·href="#t:14"><span·class="id"·title="binder">t</span></a>·:=<br/> | 200 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.makeBlack"·class="idref"·href="#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·<a·id="t:14"·class="idref"·href="#t:14"><span·class="id"·title="binder">t</span></a>·:=<br/> | 
| 201 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#t:14"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> | 201 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#t:14"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 218, 15 lines modified | Offset 218, 15 lines modified | ||
| 218 |  |·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">a</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">b</span>·=>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Rd"><span·class="id"·title="abbreviation">Rd</span></a>·<span·class="id"·title="var">a</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">b</span><br/> | 218 |  |·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">a</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">b</span>·=>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Rd"><span·class="id"·title="abbreviation">Rd</span></a>·<span·class="id"·title="var">a</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">b</span><br/> | 
| 219 |  <span·class="id"·title="keyword">end</span>.<br/> | 219 |  <span·class="id"·title="keyword">end</span>.<br/> | 
| 220 | <br/> | 220 | <br/> | 
| 221 | </div> | 221 | </div> | 
| 222 | <div·class="doc"> | 222 | <div·class="doc"> | 
| 223 | <a·id="lab11 | 223 | <a·id="lab1156"></a><h2·class="section">Balancing</h2> | 
| 224 | <div·class="paragraph">·</div> | 224 | <div·class="paragraph">·</div> | 
| 225 | ·We·adapt·when·one·side·is·not·a·true·red-black·tree. | 225 | ·We·adapt·when·one·side·is·not·a·true·red-black·tree. | 
| 226 | ····Both·sides·have·the·same·black·depth.· | 226 | ····Both·sides·have·the·same·black·depth.· | 
| 227 | </div> | 227 | </div> | 
| 228 | <div·class="code"> | 228 | <div·class="code"> | 
| Offset 299, 15 lines modified | Offset 299, 15 lines modified | ||
| 299 |    <span·class="id"·title="keyword">end</span><br/> | 299 |    <span·class="id"·title="keyword">end</span><br/> | 
| 300 |  <span·class="id"·title="keyword">end</span>.<br/> | 300 |  <span·class="id"·title="keyword">end</span>.<br/> | 
| 301 | <br/> | 301 | <br/> | 
| 302 | </div> | 302 | </div> | 
| 303 | <div·class="doc"> | 303 | <div·class="doc"> | 
| 304 | <a·id="lab11 | 304 | <a·id="lab1157"></a><h2·class="section">Insertion</h2> | 
| 305 | </div> | 305 | </div> | 
| 306 | <div·class="code"> | 306 | <div·class="code"> | 
| 307 | <br/> | 307 | <br/> | 
| 308 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.ins"·class="idref"·href="#Ops.ins"><span·class="id"·title="definition">ins</span></a>·<a·id="x:40"·class="idref"·href="#x:40"><span·class="id"·title="binder">x</span></a>·<a·id="s:41"·class="idref"·href="#s:41"><span·class="id"·title="binder">s</span></a>·:=<br/> | 308 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.ins"·class="idref"·href="#Ops.ins"><span·class="id"·title="definition">ins</span></a>·<a·id="x:40"·class="idref"·href="#x:40"><span·class="id"·title="binder">x</span></a>·<a·id="s:41"·class="idref"·href="#s:41"><span·class="id"·title="binder">s</span></a>·:=<br/> | 
| 309 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#s:41"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 309 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#s:41"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 331, 15 lines modified | Offset 331, 15 lines modified | ||
| 331 | <br/> | 331 | <br/> | 
| 332 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.add"·class="idref"·href="#Ops.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:46"·class="idref"·href="#x:46"><span·class="id"·title="binder">x</span></a>·<a·id="s:47"·class="idref"·href="#s:47"><span·class="id"·title="binder">s</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.ins"><span·class="id"·title="definition">ins</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#x:46"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#s:47"><span·class="id"·title="variable">s</span></a>).<br/> | 332 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.add"·class="idref"·href="#Ops.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:46"·class="idref"·href="#x:46"><span·class="id"·title="binder">x</span></a>·<a·id="s:47"·class="idref"·href="#s:47"><span·class="id"·title="binder">s</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.ins"><span·class="id"·title="definition">ins</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#x:46"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#s:47"><span·class="id"·title="variable">s</span></a>).<br/> | 
| 333 | <br/> | 333 | <br/> | 
| 334 | </div> | 334 | </div> | 
| 335 | <div·class="doc"> | 335 | <div·class="doc"> | 
| 336 | <a·id="lab11 | 336 | <a·id="lab1158"></a><h2·class="section">Deletion</h2> | 
| 337 | </div> | 337 | </div> | 
| 338 | <div·class="code"> | 338 | <div·class="code"> | 
| 339 | <br/> | 339 | <br/> | 
| 340 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.append"·class="idref"·href="#Ops.append"><span·class="id"·title="definition">append</span></a>·(<a·id="l:48"·class="idref"·href="#l:48"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>·:=<br/> | 340 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.append"·class="idref"·href="#Ops.append"><span·class="id"·title="definition">append</span></a>·(<a·id="l:48"·class="idref"·href="#l:48"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>·:=<br/> | 
| 341 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#l:48"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">with</span><br/> | 341 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#l:48"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 391, 15 lines modified | Offset 391, 15 lines modified | ||
| 391 | <br/> | 391 | <br/> | 
| 392 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.remove"·class="idref"·href="#Ops.remove"><span·class="id"·title="definition">remove</span></a>·<a·id="x:67"·class="idref"·href="#x:67"><span·class="id"·title="binder">x</span></a>·<a·id="t:68"·class="idref"·href="#t:68"><span·class="id"·title="binder">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.del"><span·class="id"·title="definition">del</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#x:67"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#t:68"><span·class="id"·title="variable">t</span></a>).<br/> | 392 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.remove"·class="idref"·href="#Ops.remove"><span·class="id"·title="definition">remove</span></a>·<a·id="x:67"·class="idref"·href="#x:67"><span·class="id"·title="binder">x</span></a>·<a·id="t:68"·class="idref"·href="#t:68"><span·class="id"·title="binder">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.del"><span·class="id"·title="definition">del</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#x:67"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#t:68"><span·class="id"·title="variable">t</span></a>).<br/> | 
| 393 | <br/> | 393 | <br/> | 
| 394 | </div> | 394 | </div> | 
| 395 | <div·class="doc"> | 395 | <div·class="doc"> | 
| Max diff block lines reached; 78405/87588 bytes (89.52%) of diff not shown. | |||
| Offset 45, 28 lines modified | Offset 45, 28 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab12 | 49 | <a·id="lab1204"></a><h1·class="section">Finite·sets·library·:·conversion·to·old·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span></h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Sets.Ensembles.html#"><span·class="id"·title="library">Ensembles</span></a>·<a·class="idref"·href="Coq.Sets.Finite_sets.html#"><span·class="id"·title="library">Finite_sets</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Sets.Ensembles.html#"><span·class="id"·title="library">Ensembles</span></a>·<a·class="idref"·href="Coq.Sets.Finite_sets.html#"><span·class="id"·title="library">Finite_sets</span></a>.<br/> | 
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#"><span·class="id"·title="library">MSetProperties</span></a>·<a·class="idref"·href="Coq.Structures.OrdersEx.html#"><span·class="id"·title="library">OrdersEx</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#"><span·class="id"·title="library">MSetProperties</span></a>·<a·class="idref"·href="Coq.Structures.OrdersEx.html#"><span·class="id"·title="library">OrdersEx</span></a>.<br/> | 
| 55 | <br/> | 55 | <br/> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="doc"> | 57 | <div·class="doc"> | 
| 58 | <a·id="lab12 | 58 | <a·id="lab1205"></a><h1·class="section">Going·from·<span·class="inlinecode"><span·class="id"·title="var">MSets</span></span>·with·usual·Leibniz·equality</h1> | 
| 59 | ····to·the·good·old·<span·class="inlinecode"><span·class="id"·title="var">Ensembles</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span>·theory.· | 59 | ····to·the·good·old·<span·class="inlinecode"><span·class="id"·title="var">Ensembles</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span>·theory.· | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="code"> | 61 | <div·class="code"> | 
| 62 | <br/> | 62 | <br/> | 
| 63 | <span·class="id"·title="keyword">Module</span>·<a·id="WS_to_Finite_set"·class="idref"·href="#WS_to_Finite_set"><span·class="id"·title="module">WS_to_Finite_set</span></a>·(<span·class="id"·title="var">U</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableType"><span·class="id"·title="module">UsualDecidableType</span></a>)(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetToFiniteSet.html#U"><span·class="id"·title="module">U</span></a>).<br/> | 63 | <span·class="id"·title="keyword">Module</span>·<a·id="WS_to_Finite_set"·class="idref"·href="#WS_to_Finite_set"><span·class="id"·title="module">WS_to_Finite_set</span></a>·(<span·class="id"·title="var">U</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableType"><span·class="id"·title="module">UsualDecidableType</span></a>)(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetToFiniteSet.html#U"><span·class="id"·title="module">U</span></a>).<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab1 | 49 | <a·id="lab1198"></a><h1·class="section">Finite·sets·library</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 
| 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">MSetWeakInterface.S</span></span>·using·lists·without·redundancy.· | 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">MSetWeakInterface.S</span></span>·using·lists·without·redundancy.· | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="code"> | 54 | <div·class="code"> | 
| Offset 65, 25 lines modified | Offset 65, 25 lines modified | ||
| 65 | <br/> | 65 | <br/> | 
| 66 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">typeclass_instances</span>.<br/> | 66 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">typeclass_instances</span>.<br/> | 
| 67 | <br/> | 67 | <br/> | 
| 68 | </div> | 68 | </div> | 
| 69 | <div·class="doc"> | 69 | <div·class="doc"> | 
| 70 | <a·id="lab1 | 70 | <a·id="lab1199"></a><h1·class="section">Functions·over·lists</h1> | 
| 71 | <div·class="paragraph">·</div> | 71 | <div·class="paragraph">·</div> | 
| 72 | ···First,·we·provide·sets·as·lists·which·are·(morally)·without·redundancy. | 72 | ···First,·we·provide·sets·as·lists·which·are·(morally)·without·redundancy. | 
| 73 | ···The·specs·are·proved·under·the·additional·condition·of·no·redundancy. | 73 | ···The·specs·are·proved·under·the·additional·condition·of·no·redundancy. | 
| 74 | ···And·the·functions·returning·sets·are·proved·to·preserve·this·invariant.· | 74 | ···And·the·functions·returning·sets·are·proved·to·preserve·this·invariant.· | 
| 75 | <div·class="paragraph">·</div> | 75 | <div·class="paragraph">·</div> | 
| 76 | <a·id="lab12 | 76 | <a·id="lab1200"></a><h2·class="section">The·set·operations.</h2> | 
| 77 | </div> | 77 | </div> | 
| 78 | <div·class="code"> | 78 | <div·class="code"> | 
| 79 | <br/> | 79 | <br/> | 
| 80 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WOps"><span·class="id"·title="module">WOps</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 80 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WOps"><span·class="id"·title="module">WOps</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 
| Offset 190, 15 lines modified | Offset 190, 15 lines modified | ||
| 190 | <br/> | 190 | <br/> | 
| 191 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#Ops"><span·class="id"·title="module">Ops</span></a>.<br/> | 191 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#Ops"><span·class="id"·title="module">Ops</span></a>.<br/> | 
| 192 | <br/> | 192 | <br/> | 
| 193 | </div> | 193 | </div> | 
| 194 | <div·class="doc"> | 194 | <div·class="doc"> | 
| 195 | <a·id="lab12 | 195 | <a·id="lab1201"></a><h2·class="section">Proofs·of·set·operation·specifications.</h2> | 
| 196 | </div> | 196 | </div> | 
| 197 | <div·class="code"> | 197 | <div·class="code"> | 
| 198 | <br/> | 198 | <br/> | 
| 199 | <span·class="id"·title="keyword">Module</span>·<a·id="MakeRaw"·class="idref"·href="#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WRawSets"><span·class="id"·title="module">WRawSets</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 199 | <span·class="id"·title="keyword">Module</span>·<a·id="MakeRaw"·class="idref"·href="#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WRawSets"><span·class="id"·title="module">WRawSets</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 
| 200 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#Ops"><span·class="id"·title="module">Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 200 |   <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#Ops"><span·class="id"·title="module">Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 
| Offset 422, 15 lines modified | Offset 422, 15 lines modified | ||
| 422 | <br/> | 422 | <br/> | 
| 423 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>.<br/> | 423 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>.<br/> | 
| 424 | <br/> | 424 | <br/> | 
| 425 | </div> | 425 | </div> | 
| 426 | <div·class="doc"> | 426 | <div·class="doc"> | 
| 427 | <a·id="lab12 | 427 | <a·id="lab1202"></a><h1·class="section">Encapsulation</h1> | 
| 428 | <div·class="paragraph">·</div> | 428 | <div·class="paragraph">·</div> | 
| 429 | ···Now,·in·order·to·really·provide·a·functor·implementing·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>,·we | 429 | ···Now,·in·order·to·really·provide·a·functor·implementing·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>,·we | 
| 430 | ···need·to·encapsulate·everything·into·a·type·of·lists·without·redundancy.· | 430 | ···need·to·encapsulate·everything·into·a·type·of·lists·without·redundancy.· | 
| 431 | </div> | 431 | </div> | 
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 |  <a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NMaxMin.html#"><span·class="id"·title="library">NMaxMin</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NProperties.html#"><span·class="id"·title="library">NProperties</span></a>.<br/> | 51 |  <a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NMaxMin.html#"><span·class="id"·title="library">NMaxMin</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NProperties.html#"><span·class="id"·title="library">NProperties</span></a>.<br/> | 
| 52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#"><span·class="id"·title="library">BinNatDef</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#"><span·class="id"·title="library">BinNatDef</span></a>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab41 | 56 | <a·id="lab1241"></a><h1·class="section">Binary·natural·numbers,·operations·and·properties</h1> | 
| 57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> | 
| 58 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">N0</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Npos</span></span>·are·now | 58 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">N0</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Npos</span></span>·are·now | 
| 59 | ····defined·in·<span·class="inlinecode"><span·class="id"·title="var">BinNums.v</span></span>· | 59 | ····defined·in·<span·class="inlinecode"><span·class="id"·title="var">BinNums.v</span></span>· | 
| 60 | <div·class="paragraph">·</div> | 60 | <div·class="paragraph">·</div> | 
| Offset 891, 15 lines modified | Offset 891, 15 lines modified | ||
| 891 | <br/> | 891 | <br/> | 
| 892 | <span·class="id"·title="keyword">Lemma</span>·<a·id="N.pred_div2_up"·class="idref"·href="#N.pred_div2_up"><span·class="id"·title="lemma">pred_div2_up</span></a>·<a·id="p:270"·class="idref"·href="#p:270"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.div2_up"><span·class="id"·title="definition">Pos.div2_up</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#p:270"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#N.div2"><span·class="id"·title="definition">div2</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#p:270"><span·class="id"·title="variable">p</span></a>).<br/> | 892 | <span·class="id"·title="keyword">Lemma</span>·<a·id="N.pred_div2_up"·class="idref"·href="#N.pred_div2_up"><span·class="id"·title="lemma">pred_div2_up</span></a>·<a·id="p:270"·class="idref"·href="#p:270"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.div2_up"><span·class="id"·title="definition">Pos.div2_up</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#p:270"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#N.div2"><span·class="id"·title="definition">div2</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#p:270"><span·class="id"·title="variable">p</span></a>).<br/> | 
| 893 | <br/> | 893 | <br/> | 
| 894 | </div> | 894 | </div> | 
| 895 | <div·class="doc"> | 895 | <div·class="doc"> | 
| 896 | <a·id="lab | 896 | <a·id="lab1242"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">iter</span></span></h2> | 
| 897 | </div> | 897 | </div> | 
| 898 | <div·class="code"> | 898 | <div·class="code"> | 
| 899 | <br/> | 899 | <br/> | 
| 900 | <span·class="id"·title="keyword">Lemma</span>·<a·id="N.iter_swap_gen"·class="idref"·href="#N.iter_swap_gen"><span·class="id"·title="lemma">iter_swap_gen</span></a>·<a·id="A:271"·class="idref"·href="#A:271"><span·class="id"·title="binder">A</span></a>·<a·id="B:272"·class="idref"·href="#B:272"><span·class="id"·title="binder">B</span></a>·(<a·id="f:273"·class="idref"·href="#f:273"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#A:271"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#B:272"><span·class="id"·title="variable">B</span></a>)·(<a·id="g:274"·class="idref"·href="#g:274"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#A:271"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#A:271"><span·class="id"·title="variable">A</span></a>)·(<a·id="h:275"·class="idref"·href="#h:275"><span·class="id"·title="binder">h</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#B:272"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#B:272"><span·class="id"·title="variable">B</span></a>)·:<br/> | 900 | <span·class="id"·title="keyword">Lemma</span>·<a·id="N.iter_swap_gen"·class="idref"·href="#N.iter_swap_gen"><span·class="id"·title="lemma">iter_swap_gen</span></a>·<a·id="A:271"·class="idref"·href="#A:271"><span·class="id"·title="binder">A</span></a>·<a·id="B:272"·class="idref"·href="#B:272"><span·class="id"·title="binder">B</span></a>·(<a·id="f:273"·class="idref"·href="#f:273"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#A:271"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#B:272"><span·class="id"·title="variable">B</span></a>)·(<a·id="g:274"·class="idref"·href="#g:274"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#A:271"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#A:271"><span·class="id"·title="variable">A</span></a>)·(<a·id="h:275"·class="idref"·href="#h:275"><span·class="id"·title="binder">h</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#B:272"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#B:272"><span·class="id"·title="variable">B</span></a>)·:<br/> | 
| 901 |  <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="a:276"·class="idref"·href="#a:276"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.NArith.BinNat.html#f:273"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.NArith.BinNat.html#g:274"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#a:276"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#h:275"><span·class="id"·title="variable">h</span></a>·(<a·class="idref"·href="Coq.NArith.BinNat.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#a:276"><span·class="id"·title="variable">a</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:277"·class="idref"·href="#n:277"><span·class="id"·title="binder">n</span></a>·<a·id="a:278"·class="idref"·href="#a:278"><span·class="id"·title="binder">a</span></a>,<br/> | 901 |  <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="a:276"·class="idref"·href="#a:276"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.NArith.BinNat.html#f:273"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.NArith.BinNat.html#g:274"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#a:276"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#h:275"><span·class="id"·title="variable">h</span></a>·(<a·class="idref"·href="Coq.NArith.BinNat.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#a:276"><span·class="id"·title="variable">a</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:277"·class="idref"·href="#n:277"><span·class="id"·title="binder">n</span></a>·<a·id="a:278"·class="idref"·href="#a:278"><span·class="id"·title="binder">a</span></a>,<br/> | 
| Offset 57, 56 lines modified | Offset 57, 56 lines modified | ||
| 57 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'1'"·class="idref"·href="#:::'1'"><span·class="id"·title="notation">"</span></a>1"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>·1).<br/> | 57 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'1'"·class="idref"·href="#:::'1'"><span·class="id"·title="notation">"</span></a>1"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>·1).<br/> | 
| 58 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'2'"·class="idref"·href="#:::'2'"><span·class="id"·title="notation">"</span></a>2"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>·2).<br/> | 58 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'2'"·class="idref"·href="#:::'2'"><span·class="id"·title="notation">"</span></a>2"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>·2).<br/> | 
| 59 | <br/> | 59 | <br/> | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="doc"> | 61 | <div·class="doc"> | 
| 62 | <a·id="lab | 62 | <a·id="lab1243"></a><h1·class="section">Binary·natural·numbers,·definitions·of·operations</h1> | 
| 63 | </div> | 63 | </div> | 
| 64 | <div·class="code"> | 64 | <div·class="code"> | 
| 65 | <br/> | 65 | <br/> | 
| 66 | <span·class="id"·title="keyword">Module</span>·<a·id="N"·class="idref"·href="#N"><span·class="id"·title="module">N</span></a>.<br/> | 66 | <span·class="id"·title="keyword">Module</span>·<a·id="N"·class="idref"·href="#N"><span·class="id"·title="module">N</span></a>.<br/> | 
| 67 | <br/> | 67 | <br/> | 
| 68 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.t"·class="idref"·href="#N.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#N"><span·class="id"·title="inductive">N</span></a>.<br/> | 68 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.t"·class="idref"·href="#N.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#N"><span·class="id"·title="inductive">N</span></a>.<br/> | 
| 69 | <br/> | 69 | <br/> | 
| 70 | </div> | 70 | </div> | 
| 71 | <div·class="doc"> | 71 | <div·class="doc"> | 
| 72 | <a·id="lab | 72 | <a·id="lab1244"></a><h2·class="section">Nicer·name·<span·class="inlinecode"><span·class="id"·title="var">N.pos</span></span>·for·constructor·<span·class="inlinecode"><span·class="id"·title="var">Npos</span></span></h2> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="code"> | 74 | <div·class="code"> | 
| 75 | <br/> | 75 | <br/> | 
| 76 | <span·class="id"·title="keyword">Notation</span>·<a·id="N.pos"·class="idref"·href="#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>.<br/> | 76 | <span·class="id"·title="keyword">Notation</span>·<a·id="N.pos"·class="idref"·href="#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>.<br/> | 
| 77 | <br/> | 77 | <br/> | 
| 78 | </div> | 78 | </div> | 
| 79 | <div·class="doc"> | 79 | <div·class="doc"> | 
| 80 | <a·id="lab | 80 | <a·id="lab1245"></a><h2·class="section">Constants</h2> | 
| 81 | </div> | 81 | </div> | 
| 82 | <div·class="code"> | 82 | <div·class="code"> | 
| 83 | <br/> | 83 | <br/> | 
| 84 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.zero"·class="idref"·href="#N.zero"><span·class="id"·title="definition">zero</span></a>·:=·0.<br/> | 84 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.zero"·class="idref"·href="#N.zero"><span·class="id"·title="definition">zero</span></a>·:=·0.<br/> | 
| 85 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.one"·class="idref"·href="#N.one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> | 85 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.one"·class="idref"·href="#N.one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> | 
| 86 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.two"·class="idref"·href="#N.two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> | 86 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.two"·class="idref"·href="#N.two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> | 
| 87 | <br/> | 87 | <br/> | 
| 88 | </div> | 88 | </div> | 
| 89 | <div·class="doc"> | 89 | <div·class="doc"> | 
| 90 | <a·id="lab | 90 | <a·id="lab1246"></a><h2·class="section">Operation·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode">2*<span·class="id"·title="var">x</span>+1</span></h2> | 
| 91 | </div> | 91 | </div> | 
| 92 | <div·class="code"> | 92 | <div·class="code"> | 
| 93 | <br/> | 93 | <br/> | 
| 94 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ_double"·class="idref"·href="#N.succ_double"><span·class="id"·title="definition">succ_double</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> | 94 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ_double"·class="idref"·href="#N.succ_double"><span·class="id"·title="definition">succ_double</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> | 
| 95 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 95 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 114, 15 lines modified | Offset 114, 15 lines modified | ||
| 114 |   |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span><a·class="idref"·href="Coq.PArith.BinPosDef.html#119ad21c8e0c4947cd973f1f72e5feea"><span·class="id"·title="notation">~1</span></a><br/> | 114 |   |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span><a·class="idref"·href="Coq.PArith.BinPosDef.html#119ad21c8e0c4947cd973f1f72e5feea"><span·class="id"·title="notation">~1</span></a><br/> | 
| 115 |   <span·class="id"·title="keyword">end</span>.<br/> | 115 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 116 | <br/> | 116 | <br/> | 
| 117 | </div> | 117 | </div> | 
| 118 | <div·class="doc"> | 118 | <div·class="doc"> | 
| 119 | <a·id="lab | 119 | <a·id="lab1247"></a><h2·class="section">Operation·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode">2*<span·class="id"·title="var">x</span></span></h2> | 
| 120 | </div> | 120 | </div> | 
| 121 | <div·class="code"> | 121 | <div·class="code"> | 
| 122 | <br/> | 122 | <br/> | 
| 123 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.double"·class="idref"·href="#N.double"><span·class="id"·title="definition">double</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·:=<br/> | 123 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.double"·class="idref"·href="#N.double"><span·class="id"·title="definition">double</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·:=<br/> | 
| 124 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:3"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 124 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:3"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 130, 15 lines modified | Offset 130, 15 lines modified | ||
| 130 |   |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a><br/> | 130 |   |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a><br/> | 
| 131 |   <span·class="id"·title="keyword">end</span>.<br/> | 131 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 132 | <br/> | 132 | <br/> | 
| 133 | </div> | 133 | </div> | 
| 134 | <div·class="doc"> | 134 | <div·class="doc"> | 
| 135 | <a·id="lab | 135 | <a·id="lab1248"></a><h2·class="section">Successor</h2> | 
| 136 | </div> | 136 | </div> | 
| 137 | <div·class="code"> | 137 | <div·class="code"> | 
| 138 | <br/> | 138 | <br/> | 
| 139 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ"·class="idref"·href="#N.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="n:5"·class="idref"·href="#n:5"><span·class="id"·title="binder">n</span></a>·:=<br/> | 139 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ"·class="idref"·href="#N.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="n:5"·class="idref"·href="#n:5"><span·class="id"·title="binder">n</span></a>·:=<br/> | 
| 140 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:5"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 140 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:5"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 146, 15 lines modified | Offset 146, 15 lines modified | ||
| 146 |   |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">Pos.succ</span></a>·<span·class="id"·title="var">p</span>)<br/> | 146 |   |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">Pos.succ</span></a>·<span·class="id"·title="var">p</span>)<br/> | 
| 147 |   <span·class="id"·title="keyword">end</span>.<br/> | 147 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 148 | <br/> | 148 | <br/> | 
| 149 | </div> | 149 | </div> | 
| 150 | <div·class="doc"> | 150 | <div·class="doc"> | 
| 151 | <a·id="lab | 151 | <a·id="lab1249"></a><h2·class="section">Predecessor</h2> | 
| 152 | </div> | 152 | </div> | 
| 153 | <div·class="code"> | 153 | <div·class="code"> | 
| 154 | <br/> | 154 | <br/> | 
| 155 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.pred"·class="idref"·href="#N.pred"><span·class="id"·title="definition">pred</span></a>·<a·id="n:7"·class="idref"·href="#n:7"><span·class="id"·title="binder">n</span></a>·:=<br/> | 155 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.pred"·class="idref"·href="#N.pred"><span·class="id"·title="definition">pred</span></a>·<a·id="n:7"·class="idref"·href="#n:7"><span·class="id"·title="binder">n</span></a>·:=<br/> | 
| 156 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:7"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 156 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:7"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 162, 15 lines modified | Offset 162, 15 lines modified | ||
| 162 |   |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·<span·class="id"·title="var">p</span><br/> | 162 |   |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·<span·class="id"·title="var">p</span><br/> | 
| 163 |   <span·class="id"·title="keyword">end</span>.<br/> | 163 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 164 | <br/> | 164 | <br/> | 
| 165 | </div> | 165 | </div> | 
| 166 | <div·class="doc"> | 166 | <div·class="doc"> | 
| 167 | <a·id="lab | 167 | <a·id="lab1250"></a><h2·class="section">The·successor·of·a·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>·can·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span></h2> | 
| 168 | </div> | 168 | </div> | 
| 169 | <div·class="code"> | 169 | <div·class="code"> | 
| 170 | <br/> | 170 | <br/> | 
| 171 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ_pos"·class="idref"·href="#N.succ_pos"><span·class="id"·title="definition">succ_pos</span></a>·(<a·id="n:9"·class="idref"·href="#n:9"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#N"><span·class="id"·title="inductive">N</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·:=<br/> | 171 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ_pos"·class="idref"·href="#N.succ_pos"><span·class="id"·title="definition">succ_pos</span></a>·(<a·id="n:9"·class="idref"·href="#n:9"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#N"><span·class="id"·title="inductive">N</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·:=<br/> | 
| 172 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:9"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 172 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:9"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 178, 15 lines modified | Offset 178, 15 lines modified | ||
| 178 |    |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">Pos.succ</span></a>·<span·class="id"·title="var">p</span><br/> | 178 |    |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">Pos.succ</span></a>·<span·class="id"·title="var">p</span><br/> | 
| 179 |  <span·class="id"·title="keyword">end</span>.<br/> | 179 |  <span·class="id"·title="keyword">end</span>.<br/> | 
| 180 | <br/> | 180 | <br/> | 
| 181 | </div> | 181 | </div> | 
| Max diff block lines reached; 785/10403 bytes (7.55%) of diff not shown. | |||
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#"><span·class="id"·title="library">BinPos</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#"><span·class="id"·title="library">BinNat</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>·<a·class="idref"·href="Coq.PArith.Pnat.html#"><span·class="id"·title="library">Pnat</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#"><span·class="id"·title="library">BinPos</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#"><span·class="id"·title="library">BinNat</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>·<a·class="idref"·href="Coq.PArith.Pnat.html#"><span·class="id"·title="library">Pnat</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab1252"></a><h1·class="section">Conversions·from·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span></h1> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="code"> | 55 | <div·class="code"> | 
| 56 | <br/> | 56 | <br/> | 
| 57 | <span·class="id"·title="keyword">Module</span>·<a·id="N2Nat"·class="idref"·href="#N2Nat"><span·class="id"·title="module">N2Nat</span></a>.<br/> | 57 | <span·class="id"·title="keyword">Module</span>·<a·id="N2Nat"·class="idref"·href="#N2Nat"><span·class="id"·title="module">N2Nat</span></a>.<br/> | 
| Offset 164, 15 lines modified | Offset 164, 15 lines modified | ||
| 164 |  <a·class="idref"·href="Coq.NArith.Nnat.html#id"><span·class="id"·title="lemma">N2Nat.id</span></a><br/> | 164 |  <a·class="idref"·href="Coq.NArith.Nnat.html#id"><span·class="id"·title="lemma">N2Nat.id</span></a><br/> | 
| 165 |  :·<span·class="id"·title="var">Nnat</span>.<br/> | 165 |  :·<span·class="id"·title="var">Nnat</span>.<br/> | 
| 166 | <br/> | 166 | <br/> | 
| 167 | </div> | 167 | </div> | 
| 168 | <div·class="doc"> | 168 | <div·class="doc"> | 
| 169 | <a·id="lab | 169 | <a·id="lab1253"></a><h1·class="section">Conversions·from·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">N</span></span></h1> | 
| 170 | </div> | 170 | </div> | 
| 171 | <div·class="code"> | 171 | <div·class="code"> | 
| 172 | <br/> | 172 | <br/> | 
| 173 | <span·class="id"·title="keyword">Module</span>·<a·id="Nat2N"·class="idref"·href="#Nat2N"><span·class="id"·title="module">Nat2N</span></a>.<br/> | 173 | <span·class="id"·title="keyword">Module</span>·<a·id="Nat2N"·class="idref"·href="#Nat2N"><span·class="id"·title="module">Nat2N</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab678"></a><h1·class="section">Alternative·Binary·Number·Notations</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·Faster·but·less·safe·parsers·and·printers·of·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>.· | 51 | ·Faster·but·less·safe·parsers·and·printers·of·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>.· | 
| 52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> | 
| 53 | ·By·default,·literals·in·types·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·are·parsed·and | 53 | ·By·default,·literals·in·types·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·are·parsed·and | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab680"></a><h1·class="section">Binary·Numerical·Datatypes</h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 53 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab7 | 49 | <a·id="lab740"></a><h1·class="section">Signature·and·specification·of·bounded·integers</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·file·specifies·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>-bit·integers·as·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·with·<span·class="inlinecode"><span·class="id"·title="var">n</span>=2^<span·class="id"·title="var">d</span></span>· | 51 | ·This·file·specifies·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>-bit·integers·as·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·with·<span·class="inlinecode"><span·class="id"·title="var">n</span>=2^<span·class="id"·title="var">d</span></span>· | 
| 52 | </div> | 52 | </div> | 
| 53 | <div·class="code"> | 53 | <div·class="code"> | 
| Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html#"><span·class="id"·title="library">CyclicAxioms</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html#"><span·class="id"·title="library">CyclicAxioms</span></a>.<br/> | 
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> | 
| 55 | <br/> | 55 | <br/> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="doc"> | 57 | <div·class="doc"> | 
| 58 | <a·id="lab7 | 58 | <a·id="lab739"></a><h1·class="section">From·<span·class="inlinecode"><span·class="id"·title="var">CyclicType</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">NZAxiomsSig</span></span></h1> | 
| 59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> | 
| 60 | ·A·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·representation·given·by·a·module·type·<span·class="inlinecode"><span·class="id"·title="var">CyclicType</span></span> | 60 | ·A·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·representation·given·by·a·module·type·<span·class="inlinecode"><span·class="id"·title="var">CyclicType</span></span> | 
| 61 | ····implements·<span·class="inlinecode"><span·class="id"·title="var">NZAxiomsSig</span></span>,·e.g.·the·common·properties·between | 61 | ····implements·<span·class="inlinecode"><span·class="id"·title="var">NZAxiomsSig</span></span>,·e.g.·the·common·properties·between | 
| 62 | ····N·and·Z·with·no·ordering.·Notice·that·the·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·in·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·is | 62 | ····N·and·Z·with·no·ordering.·Notice·that·the·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·in·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·is | 
| 63 | ····a·power·of·2. | 63 | ····a·power·of·2. | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab7 | 49 | <a·id="lab738"></a><h1·class="section">Uint63·numbers·defines·indeed·a·cyclic·structure·:·Z/(2^63)Z</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | <div·class="paragraph">·</div> | 51 | <div·class="paragraph">·</div> | 
| 52 | Author:·Arnaud·Spiwack·(+·Pierre·Letouzey) | 52 | Author:·Arnaud·Spiwack·(+·Pierre·Letouzey) | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab73"></a><h1·class="section">Uint63·numbers·defines·Z/(2^63)Z,·and·can·hence·be·equipped</h1> | 49 | <a·id="lab737"></a><h1·class="section">Uint63·numbers·defines·Z/(2^63)Z,·and·can·hence·be·equipped</h1> | 
| 50 | ······with·a·ring·structure·and·a·ring·tactic· | 50 | ······with·a·ring·structure·and·a·ring·tactic· | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="code"> | 52 | <div·class="code"> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Cyclic63.html#"><span·class="id"·title="library">Cyclic63</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html#"><span·class="id"·title="library">CyclicAxioms</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Cyclic63.html#"><span·class="id"·title="library">Cyclic63</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html#"><span·class="id"·title="library">CyclicAxioms</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab1 | 49 | <a·id="lab716"></a><h1·class="section">DecimalFacts·:·some·facts·about·Decimal·numbers</h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab1 | 49 | <a·id="lab710"></a><h1·class="section">DecimalN</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">N</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">N</span></span> | 
| 52 | ····are·bijections· | 52 | ····are·bijections· | 
| 53 | </div> | 53 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab679"></a><h1·class="section">DecimalNat</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span> | 
| 52 | ····are·bijections.· | 52 | ····are·bijections.· | 
| 53 | </div> | 53 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab4"></a><h1·class="section">DecimalPos</h1> | 49 | <a·id="lab747"></a><h1·class="section">DecimalPos</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span> | 
| 52 | ····are·bijections.· | 52 | ····are·bijections.· | 
| 53 | </div> | 53 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab6"></a><h1·class="section">DecimalQ</h1> | 49 | <a·id="lab677"></a><h1·class="section">DecimalQ</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span> | 
| 52 | ····are·bijections.· | 52 | ····are·bijections.· | 
| 53 | </div> | 53 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab49"></a><h1·class="section">DecimalR</h1> | 49 | <a·id="lab749"></a><h1·class="section">DecimalR</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">R</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">R</span></span> | 
| 52 | ····are·bijections.· | 52 | ····are·bijections.· | 
| 53 | </div> | 53 | </div> | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab1 | 53 | <a·id="lab714"></a><h1·class="section">Conversion·between·decimal·numbers·and·Coq·strings</h1> | 
| 54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> | 
| 55 | ·Pretty·straightforward,·which·is·precisely·the·point·of·the | 55 | ·Pretty·straightforward,·which·is·precisely·the·point·of·the | 
| 56 | ····<span·class="inlinecode"><span·class="id"·title="var">Decimal.int</span></span>·datatype.·The·only·catch·is·<span·class="inlinecode"><span·class="id"·title="var">Decimal.Nil</span></span>·:·we·could | 56 | ····<span·class="inlinecode"><span·class="id"·title="var">Decimal.int</span></span>·datatype.·The·only·catch·is·<span·class="inlinecode"><span·class="id"·title="var">Decimal.Nil</span></span>·:·we·could | 
| 57 | ····choose·to·convert·it·as·<span·class="inlinecode">""</span>·or·as·<span·class="inlinecode">"0"</span>.·In·the·first·case,·it·is | 57 | ····choose·to·convert·it·as·<span·class="inlinecode">""</span>·or·as·<span·class="inlinecode">"0"</span>.·In·the·first·case,·it·is | 
| 58 | ····awkward·to·consider·""·(or·"-")·as·a·number,·while·in·the·second·case | 58 | ····awkward·to·consider·""·(or·"-")·as·a·number,·while·in·the·second·case | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab709"></a><h1·class="section">DecimalZ</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span> | 
| 52 | ····are·bijections.· | 52 | ····are·bijections.· | 
| 53 | </div> | 53 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab735"></a><h1·class="section">HexadecimalFacts·:·some·facts·about·Hexadecimal·numbers</h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab748"></a><h1·class="section">HexadecimalN</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">N</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">N</span></span> | 
| 52 | ····are·bijections· | 52 | ····are·bijections· | 
| 53 | </div> | 53 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab736"></a><h1·class="section">HexadecimalNat</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span> | 
| 52 | ····are·bijections.· | 52 | ····are·bijections.· | 
| 53 | </div> | 53 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab1 | 49 | <a·id="lab717"></a><h1·class="section">HexadecimalPos</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span> | 
| 52 | ····are·bijections.· | 52 | ····are·bijections.· | 
| 53 | </div> | 53 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab3"></a><h1·class="section">HexadecimalQ</h1> | 49 | <a·id="lab734"></a><h1·class="section">HexadecimalQ</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span> | 
| 52 | ····are·bijections.· | 52 | ····are·bijections.· | 
| 53 | </div> | 53 | </div> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab711"></a><h1·class="section">HexadecimalR</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">R</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">R</span></span> | 
| 52 | ····are·bijections.· | 52 | ····are·bijections.· | 
| 53 | </div> | 53 | </div> | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab715"></a><h1·class="section">Conversion·between·hexadecimal·numbers·and·Coq·strings</h1> | 
| 54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> | 
| 55 | ·Pretty·straightforward,·which·is·precisely·the·point·of·the | 55 | ·Pretty·straightforward,·which·is·precisely·the·point·of·the | 
| 56 | ····<span·class="inlinecode"><span·class="id"·title="var">Hexadecimal.int</span></span>·datatype.·The·only·catch·is·<span·class="inlinecode"><span·class="id"·title="var">Hexadecimal.Nil</span></span>·:·we·could | 56 | ····<span·class="inlinecode"><span·class="id"·title="var">Hexadecimal.int</span></span>·datatype.·The·only·catch·is·<span·class="inlinecode"><span·class="id"·title="var">Hexadecimal.Nil</span></span>·:·we·could | 
| 57 | ····choose·to·convert·it·as·<span·class="inlinecode">""</span>·or·as·<span·class="inlinecode">"0"</span>.·In·the·first·case,·it·is | 57 | ····choose·to·convert·it·as·<span·class="inlinecode">""</span>·or·as·<span·class="inlinecode">"0"</span>.·In·the·first·case,·it·is | 
| 58 | ····awkward·to·consider·""·(or·"-")·as·a·number,·while·in·the·second·case | 58 | ····awkward·to·consider·""·(or·"-")·as·a·number,·while·in·the·second·case | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab1 | 49 | <a·id="lab713"></a><h1·class="section">HexadecimalZ</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span> | 
| 52 | ····are·bijections.· | 52 | ····are·bijections.· | 
| 53 | </div> | 53 | </div> | 
| Offset 469, 15 lines modified | Offset 469, 15 lines modified | ||
| 469 |  <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="n:114"·class="idref"·href="#n:114"><span·class="id"·title="binder">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="m:115"·class="idref"·href="#m:115"><span·class="id"·title="binder">m</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#n:114"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZBits.html#08f35bb78d3f8b8e58903b9564c9213c"><span·class="id"·title="notation">.[</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZBits.html#08f35bb78d3f8b8e58903b9564c9213c"><span·class="id"·title="notation">]</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a><br/> | 469 |  <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="n:114"·class="idref"·href="#n:114"><span·class="id"·title="binder">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="m:115"·class="idref"·href="#m:115"><span·class="id"·title="binder">m</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#n:114"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZBits.html#08f35bb78d3f8b8e58903b9564c9213c"><span·class="id"·title="notation">.[</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZBits.html#08f35bb78d3f8b8e58903b9564c9213c"><span·class="id"·title="notation">]</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a><br/> | 
| 470 |   <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="k:116"·class="idref"·href="#k:116"><span·class="id"·title="binder">k</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="m:117"·class="idref"·href="#m:117"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#k:116"><span·class="id"·title="variable">k</span></a><a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:117"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:117"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#k:116"><span·class="id"·title="variable">k</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>.<br/> | 470 |   <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="k:116"·class="idref"·href="#k:116"><span·class="id"·title="binder">k</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="m:117"·class="idref"·href="#m:117"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#k:116"><span·class="id"·title="variable">k</span></a><a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:117"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:117"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#k:116"><span·class="id"·title="variable">k</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 471 | <br/> | 471 | <br/> | 
| 472 | </div> | 472 | </div> | 
| 473 | <div·class="doc"> | 473 | <div·class="doc"> | 
| 474 | <a·id="lab | 474 | <a·id="lab718"></a><h1·class="section">Properties·of·shifts</h1> | 
| 475 | <div·class="paragraph">·</div> | 475 | <div·class="paragraph">·</div> | 
| 476 | ·First,·a·unified·specification·for·<span·class="inlinecode"><span·class="id"·title="var">shiftl</span></span>·:·the·<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec</span></span> | 476 | ·First,·a·unified·specification·for·<span·class="inlinecode"><span·class="id"·title="var">shiftl</span></span>·:·the·<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec</span></span> | 
| 477 | ···below·(combined·with·<span·class="inlinecode"><span·class="id"·title="var">testbit_neg_r</span></span>)·is·equivalent·to | 477 | ···below·(combined·with·<span·class="inlinecode"><span·class="id"·title="var">testbit_neg_r</span></span>)·is·equivalent·to | 
| 478 | ···<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec_low</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec_high</span></span>.· | 478 | ···<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec_low</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec_high</span></span>.· | 
| 479 | </div> | 479 | </div> | 
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <span·class="id"·title="keyword">From</span>·<span·class="id"·title="var">Coq.Numbers.Integer.Abstract</span>·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>.<br/> | 51 | <span·class="id"·title="keyword">From</span>·<span·class="id"·title="var">Coq.Numbers.Integer.Abstract</span>·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>.<br/> | 
| 52 | <span·class="id"·title="keyword">From</span>·<span·class="id"·title="var">Coq.Numbers.NatInt</span>·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> | 52 | <span·class="id"·title="keyword">From</span>·<span·class="id"·title="var">Coq.Numbers.NatInt</span>·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab728"></a><h1·class="section">Euclidean·Division·for·integers,·Euclid·convention</h1> | 
| 57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> | 
| 58 | ····We·use·here·the·"usual"·formulation·of·the·Euclid·Theorem | 58 | ····We·use·here·the·"usual"·formulation·of·the·Euclid·Theorem | 
| 59 | ····<span·class="inlinecode"><span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">b</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">b</span><>0</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="tactic">exists</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·<span·class="inlinecode"><span·class="id"·title="var">q</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">b</span>*<span·class="id"·title="var">q</span>+<span·class="id"·title="var">r</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">0</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode">|<span·class="id"·title="var">b</span>|</span>·<span·class="inlinecode"></span> | 59 | ····<span·class="inlinecode"><span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">b</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">b</span><>0</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="tactic">exists</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·<span·class="inlinecode"><span·class="id"·title="var">q</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">b</span>*<span·class="id"·title="var">q</span>+<span·class="id"·title="var">r</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">0</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode">|<span·class="id"·title="var">b</span>|</span>·<span·class="inlinecode"></span> | 
| Offset 242, 15 lines modified | Offset 242, 15 lines modified | ||
| 242 | <br/> | 242 | <br/> | 
| 243 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZEuclidProp.mod_small"·class="idref"·href="#ZEuclidProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:44"·class="idref"·href="#a:44"><span·class="id"·title="binder">a</span></a>·<a·id="b:45"·class="idref"·href="#b:45"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:44"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:44"><span·class="id"·title="variable">a</span></a>.<br/> | 243 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZEuclidProp.mod_small"·class="idref"·href="#ZEuclidProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:44"·class="idref"·href="#a:44"><span·class="id"·title="binder">a</span></a>·<a·id="b:45"·class="idref"·href="#b:45"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:44"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:44"><span·class="id"·title="variable">a</span></a>.<br/> | 
| 244 | · | 244 | · | 
| 245 | <br/> | 245 | <br/> | 
| 246 | </div> | 246 | </div> | 
| 247 | <div·class="doc"> | 247 | <div·class="doc"> | 
| 248 | <a·id="lab | 248 | <a·id="lab729"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> | 
| 249 | </div> | 249 | </div> | 
| 250 | <div·class="code"> | 250 | <div·class="code"> | 
| 251 | <br/> | 251 | <br/> | 
| 252 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.div_0_l"·class="idref"·href="#ZEuclidProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:46"·class="idref"·href="#a:46"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:46"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:46"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 252 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.div_0_l"·class="idref"·href="#ZEuclidProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:46"·class="idref"·href="#a:46"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:46"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:46"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| Offset 278, 15 lines modified | Offset 278, 15 lines modified | ||
| 278 | <br/> | 278 | <br/> | 
| 279 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZEuclidProp.div_unique_exact"·class="idref"·href="#ZEuclidProp.div_unique_exact"><span·class="id"·title="lemma">div_unique_exact</span></a>·<a·id="a:56"·class="idref"·href="#a:56"><span·class="id"·title="binder">a</span></a>·<a·id="b:57"·class="idref"·href="#b:57"><span·class="id"·title="binder">b</span></a>·<a·id="q:58"·class="idref"·href="#q:58"><span·class="id"·title="binder">q</span></a>:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:56"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:58"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:58"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:56"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</span></a>.<br/> | 279 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZEuclidProp.div_unique_exact"·class="idref"·href="#ZEuclidProp.div_unique_exact"><span·class="id"·title="lemma">div_unique_exact</span></a>·<a·id="a:56"·class="idref"·href="#a:56"><span·class="id"·title="binder">a</span></a>·<a·id="b:57"·class="idref"·href="#b:57"><span·class="id"·title="binder">b</span></a>·<a·id="q:58"·class="idref"·href="#q:58"><span·class="id"·title="binder">q</span></a>:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:56"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:58"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:58"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:56"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 280 | <br/> | 280 | <br/> | 
| 281 | </div> | 281 | </div> | 
| 282 | <div·class="doc"> | 282 | <div·class="doc"> | 
| 283 | <a·id="lab | 283 | <a·id="lab730"></a><h1·class="section">Order·results·about·mod·and·div</h1> | 
| 284 | <div·class="paragraph">·</div> | 284 | <div·class="paragraph">·</div> | 
| 285 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 285 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 
| 286 | </div> | 286 | </div> | 
| 287 | <div·class="code"> | 287 | <div·class="code"> | 
| Offset 407, 15 lines modified | Offset 407, 15 lines modified | ||
| 407 | <br/> | 407 | <br/> | 
| 408 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.div_le_compat_l"·class="idref"·href="#ZEuclidProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:91"·class="idref"·href="#p:91"><span·class="id"·title="binder">p</span></a>·<a·id="q:92"·class="idref"·href="#q:92"><span·class="id"·title="binder">q</span></a>·<a·id="r:93"·class="idref"·href="#r:93"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#p:91"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:92"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:92"><span·class="id"·title="variable">q</span></a>.<br/> | 408 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.div_le_compat_l"·class="idref"·href="#ZEuclidProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:91"·class="idref"·href="#p:91"><span·class="id"·title="binder">p</span></a>·<a·id="q:92"·class="idref"·href="#q:92"><span·class="id"·title="binder">q</span></a>·<a·id="r:93"·class="idref"·href="#r:93"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#p:91"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:92"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:92"><span·class="id"·title="variable">q</span></a>.<br/> | 
| 409 | · | 409 | · | 
| 410 | <br/> | 410 | <br/> | 
| 411 | </div> | 411 | </div> | 
| 412 | <div·class="doc"> | 412 | <div·class="doc"> | 
| 413 | <a·id="lab | 413 | <a·id="lab731"></a><h1·class="section">Relations·between·usual·operations·and·mod·and·div</h1> | 
| 414 | </div> | 414 | </div> | 
| 415 | <div·class="code"> | 415 | <div·class="code"> | 
| 416 | <br/> | 416 | <br/> | 
| 417 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.mod_add"·class="idref"·href="#ZEuclidProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:94"·class="idref"·href="#a:94"><span·class="id"·title="binder">a</span></a>·<a·id="b:95"·class="idref"·href="#b:95"><span·class="id"·title="binder">b</span></a>·<a·id="c:96"·class="idref"·href="#c:96"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 417 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.mod_add"·class="idref"·href="#ZEuclidProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:94"·class="idref"·href="#a:94"><span·class="id"·title="binder">a</span></a>·<a·id="b:95"·class="idref"·href="#b:95"><span·class="id"·title="binder">b</span></a>·<a·id="c:96"·class="idref"·href="#c:96"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 418 |  <a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:95"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a>.<br/> | 418 |  <a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:95"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a>.<br/> | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab724"></a><h1·class="section">Euclidean·Division·for·integers·(Floor·convention)</h1> | 
| 54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> | 
| 55 | ····We·use·here·the·convention·known·as·Floor,·or·Round-Toward-Bottom, | 55 | ····We·use·here·the·convention·known·as·Floor,·or·Round-Toward-Bottom, | 
| 56 | ····where·<span·class="inlinecode"><span·class="id"·title="var">a</span>/<span·class="id"·title="var">b</span></span>·is·the·closest·integer·below·the·exact·fraction. | 56 | ····where·<span·class="inlinecode"><span·class="id"·title="var">a</span>/<span·class="id"·title="var">b</span></span>·is·the·closest·integer·below·the·exact·fraction. | 
| 57 | ····It·can·be·summarized·by: | 57 | ····It·can·be·summarized·by: | 
| Offset 280, 15 lines modified | Offset 280, 15 lines modified | ||
| 280 | <br/> | 280 | <br/> | 
| 281 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZDivProp.mod_small"·class="idref"·href="#ZDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:68"·class="idref"·href="#a:68"><span·class="id"·title="binder">a</span></a>·<a·id="b:69"·class="idref"·href="#b:69"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:68"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:68"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:68"><span·class="id"·title="variable">a</span></a>.<br/> | 281 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZDivProp.mod_small"·class="idref"·href="#ZDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:68"·class="idref"·href="#a:68"><span·class="id"·title="binder">a</span></a>·<a·id="b:69"·class="idref"·href="#b:69"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:68"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:68"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:68"><span·class="id"·title="variable">a</span></a>.<br/> | 
| 282 | · | 282 | · | 
| 283 | <br/> | 283 | <br/> | 
| 284 | </div> | 284 | </div> | 
| 285 | <div·class="doc"> | 285 | <div·class="doc"> | 
| 286 | <a·id="lab | 286 | <a·id="lab725"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> | 
| 287 | </div> | 287 | </div> | 
| 288 | <div·class="code"> | 288 | <div·class="code"> | 
| 289 | <br/> | 289 | <br/> | 
| 290 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.div_0_l"·class="idref"·href="#ZDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:70"·class="idref"·href="#a:70"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:70"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:70"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 290 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.div_0_l"·class="idref"·href="#ZDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:70"·class="idref"·href="#a:70"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:70"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:70"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| Offset 316, 15 lines modified | Offset 316, 15 lines modified | ||
| 316 | <br/> | 316 | <br/> | 
| 317 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZDivProp.div_unique_exact"·class="idref"·href="#ZDivProp.div_unique_exact"><span·class="id"·title="lemma">div_unique_exact</span></a>·<a·id="a:80"·class="idref"·href="#a:80"><span·class="id"·title="binder">a</span></a>·<a·id="b:81"·class="idref"·href="#b:81"><span·class="id"·title="binder">b</span></a>·<a·id="q:82"·class="idref"·href="#q:82"><span·class="id"·title="binder">q</span></a>:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:80"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:82"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:82"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:80"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</span></a>.<br/> | 317 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZDivProp.div_unique_exact"·class="idref"·href="#ZDivProp.div_unique_exact"><span·class="id"·title="lemma">div_unique_exact</span></a>·<a·id="a:80"·class="idref"·href="#a:80"><span·class="id"·title="binder">a</span></a>·<a·id="b:81"·class="idref"·href="#b:81"><span·class="id"·title="binder">b</span></a>·<a·id="q:82"·class="idref"·href="#q:82"><span·class="id"·title="binder">q</span></a>:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:80"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:82"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:82"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:80"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 318 | <br/> | 318 | <br/> | 
| 319 | </div> | 319 | </div> | 
| 320 | <div·class="doc"> | 320 | <div·class="doc"> | 
| 321 | <a·id="lab | 321 | <a·id="lab726"></a><h1·class="section">Order·results·about·mod·and·div</h1> | 
| 322 | <div·class="paragraph">·</div> | 322 | <div·class="paragraph">·</div> | 
| 323 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 323 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 
| 324 | </div> | 324 | </div> | 
| 325 | <div·class="code"> | 325 | <div·class="code"> | 
| Offset 453, 15 lines modified | Offset 453, 15 lines modified | ||
| 453 | <br/> | 453 | <br/> | 
| 454 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.div_le_compat_l"·class="idref"·href="#ZDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:117"·class="idref"·href="#p:117"><span·class="id"·title="binder">p</span></a>·<a·id="q:118"·class="idref"·href="#q:118"><span·class="id"·title="binder">q</span></a>·<a·id="r:119"·class="idref"·href="#r:119"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#p:117"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:118"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#r:119"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#p:117"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#r:119"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#p:117"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:118"><span·class="id"·title="variable">q</span></a>.<br/> | 454 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.div_le_compat_l"·class="idref"·href="#ZDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:117"·class="idref"·href="#p:117"><span·class="id"·title="binder">p</span></a>·<a·id="q:118"·class="idref"·href="#q:118"><span·class="id"·title="binder">q</span></a>·<a·id="r:119"·class="idref"·href="#r:119"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#p:117"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:118"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#r:119"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#p:117"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#r:119"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#p:117"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:118"><span·class="id"·title="variable">q</span></a>.<br/> | 
| 455 | · | 455 | · | 
| 456 | <br/> | 456 | <br/> | 
| 457 | </div> | 457 | </div> | 
| 458 | <div·class="doc"> | 458 | <div·class="doc"> | 
| 459 | <a·id="lab | 459 | <a·id="lab727"></a><h1·class="section">Relations·between·usual·operations·and·mod·and·div</h1> | 
| 460 | </div> | 460 | </div> | 
| 461 | <div·class="code"> | 461 | <div·class="code"> | 
| 462 | <br/> | 462 | <br/> | 
| 463 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.mod_add"·class="idref"·href="#ZDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:120"·class="idref"·href="#a:120"><span·class="id"·title="binder">a</span></a>·<a·id="b:121"·class="idref"·href="#b:121"><span·class="id"·title="binder">b</span></a>·<a·id="c:122"·class="idref"·href="#c:122"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 463 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.mod_add"·class="idref"·href="#ZDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:120"·class="idref"·href="#a:120"><span·class="id"·title="binder">a</span></a>·<a·id="b:121"·class="idref"·href="#b:121"><span·class="id"·title="binder">b</span></a>·<a·id="c:122"·class="idref"·href="#c:122"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 464 |  <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:120"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:121"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:120"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a>.<br/> | 464 |  <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:120"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:121"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:120"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a>.<br/> | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab720"></a><h1·class="section">Euclidean·Division·for·integers·(Trunc·convention)</h1> | 
| 54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> | 
| 55 | ····We·use·here·the·convention·known·as·Trunc,·or·Round-Toward-Zero, | 55 | ····We·use·here·the·convention·known·as·Trunc,·or·Round-Toward-Zero, | 
| 56 | ····where·<span·class="inlinecode"><span·class="id"·title="var">a</span>/<span·class="id"·title="var">b</span></span>·is·the·integer·with·the·largest·absolute·value·to | 56 | ····where·<span·class="inlinecode"><span·class="id"·title="var">a</span>/<span·class="id"·title="var">b</span></span>·is·the·integer·with·the·largest·absolute·value·to | 
| 57 | ····be·between·zero·and·the·exact·fraction.·It·can·be·summarized·by: | 57 | ····be·between·zero·and·the·exact·fraction.·It·can·be·summarized·by: | 
| Offset 205, 15 lines modified | Offset 205, 15 lines modified | ||
| 205 | <br/> | 205 | <br/> | 
| 206 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZQuotProp.rem_small"·class="idref"·href="#ZQuotProp.rem_small"><span·class="id"·title="lemma">rem_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:28"·class="idref"·href="#a:28"><span·class="id"·title="binder">a</span></a>·<a·id="b:29"·class="idref"·href="#b:29"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:28"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:29"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:28"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#QuotRemNotation.:::x_'rem'_x"><span·class="id"·title="notation">rem</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:29"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:28"><span·class="id"·title="variable">a</span></a>.<br/> | 206 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZQuotProp.rem_small"·class="idref"·href="#ZQuotProp.rem_small"><span·class="id"·title="lemma">rem_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:28"·class="idref"·href="#a:28"><span·class="id"·title="binder">a</span></a>·<a·id="b:29"·class="idref"·href="#b:29"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:28"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:29"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:28"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#QuotRemNotation.:::x_'rem'_x"><span·class="id"·title="notation">rem</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:29"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:28"><span·class="id"·title="variable">a</span></a>.<br/> | 
| 207 | · | 207 | · | 
| 208 | <br/> | 208 | <br/> | 
| 209 | </div> | 209 | </div> | 
| 210 | <div·class="doc"> | 210 | <div·class="doc"> | 
| 211 | <a·id="lab | 211 | <a·id="lab721"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> | 
| 212 | </div> | 212 | </div> | 
| 213 | <div·class="code"> | 213 | <div·class="code"> | 
| 214 | <br/> | 214 | <br/> | 
| 215 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.quot_0_l"·class="idref"·href="#ZQuotProp.quot_0_l"><span·class="id"·title="lemma">quot_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:30"·class="idref"·href="#a:30"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:30"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:30"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 215 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.quot_0_l"·class="idref"·href="#ZQuotProp.quot_0_l"><span·class="id"·title="lemma">quot_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:30"·class="idref"·href="#a:30"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:30"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:30"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| Offset 303, 15 lines modified | Offset 303, 15 lines modified | ||
| 303 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.rem_bound_abs"·class="idref"·href="#ZQuotProp.rem_bound_abs"><span·class="id"·title="lemma">rem_bound_abs</span></a>·:<br/> | 303 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.rem_bound_abs"·class="idref"·href="#ZQuotProp.rem_bound_abs"><span·class="id"·title="lemma">rem_bound_abs</span></a>·:<br/> | 
| 304 |  <span·class="id"·title="keyword">forall</span>·<a·id="a:65"·class="idref"·href="#a:65"><span·class="id"·title="binder">a</span></a>·<a·id="b:66"·class="idref"·href="#b:66"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#A.abs"><span·class="id"·title="axiom">abs</span></a>·(<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:65"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#QuotRemNotation.:::x_'rem'_x"><span·class="id"·title="notation">rem</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#A.abs"><span·class="id"·title="axiom">abs</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</span></a>.<br/> | 304 |  <span·class="id"·title="keyword">forall</span>·<a·id="a:65"·class="idref"·href="#a:65"><span·class="id"·title="binder">a</span></a>·<a·id="b:66"·class="idref"·href="#b:66"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#A.abs"><span·class="id"·title="axiom">abs</span></a>·(<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:65"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#QuotRemNotation.:::x_'rem'_x"><span·class="id"·title="notation">rem</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#A.abs"><span·class="id"·title="axiom">abs</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 305 | <br/> | 305 | <br/> | 
| 306 | </div> | 306 | </div> | 
| 307 | <div·class="doc"> | 307 | <div·class="doc"> | 
| 308 | <a·id="lab | 308 | <a·id="lab722"></a><h1·class="section">Order·results·about·rem·and·quot</h1> | 
| 309 | <div·class="paragraph">·</div> | 309 | <div·class="paragraph">·</div> | 
| 310 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 310 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 
| 311 | </div> | 311 | </div> | 
| 312 | <div·class="code"> | 312 | <div·class="code"> | 
| Offset 438, 15 lines modified | Offset 438, 15 lines modified | ||
| 438 | <br/> | 438 | <br/> | 
| 439 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.quot_le_compat_l"·class="idref"·href="#ZQuotProp.quot_le_compat_l"><span·class="id"·title="lemma">quot_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:105"·class="idref"·href="#p:105"><span·class="id"·title="binder">p</span></a>·<a·id="q:106"·class="idref"·href="#q:106"><span·class="id"·title="binder">q</span></a>·<a·id="r:107"·class="idref"·href="#r:107"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#p:105"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#q:106"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#r:107"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#p:105"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#r:107"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#p:105"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#q:106"><span·class="id"·title="variable">q</span></a>.<br/> | 439 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.quot_le_compat_l"·class="idref"·href="#ZQuotProp.quot_le_compat_l"><span·class="id"·title="lemma">quot_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:105"·class="idref"·href="#p:105"><span·class="id"·title="binder">p</span></a>·<a·id="q:106"·class="idref"·href="#q:106"><span·class="id"·title="binder">q</span></a>·<a·id="r:107"·class="idref"·href="#r:107"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#p:105"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#q:106"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#r:107"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#p:105"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#r:107"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#p:105"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#q:106"><span·class="id"·title="variable">q</span></a>.<br/> | 
| 440 | · | 440 | · | 
| 441 | <br/> | 441 | <br/> | 
| 442 | </div> | 442 | </div> | 
| 443 | <div·class="doc"> | 443 | <div·class="doc"> | 
| 444 | <a·id="lab | 444 | <a·id="lab723"></a><h1·class="section">Relations·between·usual·operations·and·rem·and·quot</h1> | 
| 445 | <div·class="paragraph">·</div> | 445 | <div·class="paragraph">·</div> | 
| 446 | ·Unlike·with·other·division·conventions,·some·results·here·aren't | 446 | ·Unlike·with·other·division·conventions,·some·results·here·aren't | 
| 447 | ····always·valid,·and·need·to·be·restricted.·For·instance | 447 | ····always·valid,·and·need·to·be·restricted.·For·instance | 
| 448 | ····<span·class="inlinecode">(<span·class="id"·title="var">a</span>+<span·class="id"·title="var">b</span>*<span·class="id"·title="var">c</span>)</span>·<span·class="inlinecode"><span·class="id"·title="var">rem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">c</span></span>·<span·class="inlinecode"><></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">rem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">c</span></span>·for·<span·class="inlinecode"><span·class="id"·title="var">a</span>=9,<span·class="id"·title="var">b</span>=-5,<span·class="id"·title="var">c</span>=2</span>· | 448 | ····<span·class="inlinecode">(<span·class="id"·title="var">a</span>+<span·class="id"·title="var">b</span>*<span·class="id"·title="var">c</span>)</span>·<span·class="inlinecode"><span·class="id"·title="var">rem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">c</span></span>·<span·class="inlinecode"><></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">rem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">c</span></span>·for·<span·class="inlinecode"><span·class="id"·title="var">a</span>=9,<span·class="id"·title="var">b</span>=-5,<span·class="id"·title="var">c</span>=2</span>· | 
| 449 | </div> | 449 | </div> | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZGcd.html#"><span·class="id"·title="library">ZGcd</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#"><span·class="id"·title="library">ZDivTrunc</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#"><span·class="id"·title="library">ZDivFloor</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZGcd.html#"><span·class="id"·title="library">ZGcd</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#"><span·class="id"·title="library">ZDivTrunc</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#"><span·class="id"·title="library">ZDivFloor</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab732"></a><h1·class="section">Least·Common·Multiple</h1> | 
| 54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> | 
| 55 | ·Unlike·other·functions·around,·we·will·define·lcm·below·instead·of | 55 | ·Unlike·other·functions·around,·we·will·define·lcm·below·instead·of | 
| 56 | ··axiomatizing·it.·Indeed,·there·is·no·"prior·art"·about·lcm·in·the | 56 | ··axiomatizing·it.·Indeed,·there·is·no·"prior·art"·about·lcm·in·the | 
| 57 | ··standard·library·to·be·compliant·with,·and·the·generic·definition | 57 | ··standard·library·to·be·compliant·with,·and·the·generic·definition | 
| 58 | ··of·lcm·via·gcd·is·quite·reasonable. | 58 | ··of·lcm·via·gcd·is·quite·reasonable. | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab719"></a><h1·class="section">Properties·of·minimum·and·maximum·specific·to·integer·numbers</h1> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="code"> | 55 | <div·class="code"> | 
| 56 | <br/> | 56 | <br/> | 
| 57 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="ZMaxMinProp"·class="idref"·href="#ZMaxMinProp"><span·class="id"·title="module">ZMaxMinProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">Z</span>·:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#ZAxiomsMiniSig'"><span·class="id"·title="module">ZAxiomsMiniSig'</span></a>).<br/> | 57 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="ZMaxMinProp"·class="idref"·href="#ZMaxMinProp"><span·class="id"·title="module">ZMaxMinProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">Z</span>·:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#ZAxiomsMiniSig'"><span·class="id"·title="module">ZAxiomsMiniSig'</span></a>).<br/> | 
| 58 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#ZMulOrderProp"><span·class="id"·title="module">ZMulOrderProp</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMaxMin.html#Z"><span·class="id"·title="module">Z</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#ZMulOrderProp"><span·class="id"·title="module">ZMulOrderProp</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMaxMin.html#Z"><span·class="id"·title="module">Z</span></a>.<br/> | 
| Offset 67, 15 lines modified | Offset 67, 15 lines modified | ||
| 67 |  <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> | 67 |  <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> | 
| 68 |  :=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z"><span·class="id"·title="module">BinInt.Z</span></a>.<br/> | 68 |  :=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z"><span·class="id"·title="module">BinInt.Z</span></a>.<br/> | 
| 69 | <br/> | 69 | <br/> | 
| 70 | </div> | 70 | </div> | 
| 71 | <div·class="doc"> | 71 | <div·class="doc"> | 
| 72 | <a·id="lab | 72 | <a·id="lab733"></a><h1·class="section">An·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic·for·integers</h1> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="code"> | 74 | <div·class="code"> | 
| 75 | <br/> | 75 | <br/> | 
| 76 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">z_order</span>·:=·<span·class="id"·title="var">Z.order</span>.<br/> | 76 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">z_order</span>·:=·<span·class="id"·title="var">Z.order</span>.<br/> | 
| Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
| 53 | <br/> | 53 | <br/> | 
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.List.html#"><span·class="id"·title="library">List</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.List.html#"><span·class="id"·title="library">List</span></a>.<br/> | 
| 55 | <br/> | 55 | <br/> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="doc"> | 57 | <div·class="doc"> | 
| 58 | <a·id="lab | 58 | <a·id="lab712"></a><h1·class="section">Generic·dependently-typed·operators·about·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>-ary·functions</h1> | 
| 59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> | 
| 60 | ·The·type·of·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>-ary·function:·<span·class="inlinecode"><span·class="id"·title="var">nfun</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span></span>·is | 60 | ·The·type·of·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>-ary·function:·<span·class="inlinecode"><span·class="id"·title="var">nfun</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span></span>·is | 
| 61 | ····<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode">...</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span></span>·with·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·occurrences·of·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·in·this·type.· | 61 | ····<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode">...</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span></span>·with·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·occurrences·of·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·in·this·type.· | 
| 62 | </div> | 62 | </div> | 
| 63 | <div·class="code"> | 63 | <div·class="code"> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab697"></a><h1·class="section">Some·properties·of·the·addition·for·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</span></span></h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZAddProp</span></span>·functor·type.·This·functor·type·is·meant | 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZAddProp</span></span>·functor·type.·This·functor·type·is·meant | 
| 52 | to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</span></span>. | 52 | to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</span></span>. | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab698"></a><h1·class="section">Properties·of·orders·and·addition·for·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span></h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZAddOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d | 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZAddOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d | 
| 52 | in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span>·(see·<span·class="inlinecode"><span·class="id"·title="var">Coq.Numbers.NatInt.NZAxioms</span></span>). | 52 | in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span>·(see·<span·class="inlinecode"><span·class="id"·title="var">Coq.Numbers.NatInt.NZAxioms</span></span>). | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | </div> | 49 | </div> | 
| 50 | <div·class="doc"> | 50 | <div·class="doc"> | 
| 51 | Initial·Author·:·Evgeny·Makarov,·INRIA,·2007· | 51 | Initial·Author·:·Evgeny·Makarov,·INRIA,·2007· | 
| 52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> | 
| 53 | <a·id="lab | 53 | <a·id="lab683"></a><h1·class="section">Axioms·for·a·domain·with·<span·class="inlinecode"><span·class="id"·title="var">zero</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">pred</span></span>.</h1> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="code"> | 55 | <div·class="code"> | 
| 56 | <br/> | 56 | <br/> | 
| 57 | <span·class="id"·title="keyword">From</span>·<span·class="id"·title="var">Coq.Structures</span>·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>.<br/> | 57 | <span·class="id"·title="keyword">From</span>·<span·class="id"·title="var">Coq.Structures</span>·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>.<br/> | 
| Offset 141, 15 lines modified | Offset 141, 15 lines modified | ||
| 141 |      <span·class="id"·title="keyword">forall</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>·:·<span·class="id"·title="var">t</span>,·<span·class="id"·title="var">CompareSpec</span>·(<span·class="id"·title="var">eq</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·(<span·class="id"·title="var">lt</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·(<span·class="id"·title="var">lt</span>·<span·class="id"·title="var">y</span>·<span·class="id"·title="var">x</span>)·(<span·class="id"·title="var">compare</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>).<br/> | 141 |      <span·class="id"·title="keyword">forall</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>·:·<span·class="id"·title="var">t</span>,·<span·class="id"·title="var">CompareSpec</span>·(<span·class="id"·title="var">eq</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·(<span·class="id"·title="var">lt</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·(<span·class="id"·title="var">lt</span>·<span·class="id"·title="var">y</span>·<span·class="id"·title="var">x</span>)·(<span·class="id"·title="var">compare</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>).<br/> | 
| 142 |  <span·class="id"·title="keyword">End</span> | 142 |  <span·class="id"·title="keyword">End</span> | 
| 143 | <div·class="paragraph">·</div> | 143 | <div·class="paragraph">·</div> | 
| 144 | </span>· | 144 | </span>· | 
| 145 | <div·class="paragraph">·</div> | 145 | <div·class="paragraph">·</div> | 
| 146 | <a·id="lab | 146 | <a·id="lab684"></a><h2·class="section">Axiomatization·of·a·domain·with·<span·class="inlinecode"><span·class="id"·title="var">zero</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">pred</span></span>·and·a·bi-directional·induction·principle.</h2> | 
| 147 | </div> | 147 | </div> | 
| 148 | <div·class="code"> | 148 | <div·class="code"> | 
| 149 | <br/> | 149 | <br/> | 
| 150 | </div> | 150 | </div> | 
| Offset 223, 15 lines modified | Offset 223, 15 lines modified | ||
| 223 |     <a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:11"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·(<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:11"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:12"·class="idref"·href="#n:12"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:12"><span·class="id"·title="variable">n</span></a>.<br/> | 223 |     <a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:11"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·(<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:11"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:12"·class="idref"·href="#n:12"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:12"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 224 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#IsNZDomain"><span·class="id"·title="module">IsNZDomain</span></a>.<br/> | 224 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#IsNZDomain"><span·class="id"·title="module">IsNZDomain</span></a>.<br/> | 
| 225 | <br/> | 225 | <br/> | 
| 226 | </div> | 226 | </div> | 
| 227 | <div·class="doc"> | 227 | <div·class="doc"> | 
| 228 | <a·id="lab | 228 | <a·id="lab685"></a><h2·class="section">Axiomatization·of·some·more·constants</h2> | 
| 229 | <div·class="paragraph">·</div> | 229 | <div·class="paragraph">·</div> | 
| 230 | ·Simply·denoting·"1"·for·(S·0)·and·so·on·works·ok·when·implementing | 230 | ·Simply·denoting·"1"·for·(S·0)·and·so·on·works·ok·when·implementing | 
| 231 | ····by·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·but·leaves·some·(<span·class="inlinecode"><span·class="id"·title="var">N.succ</span></span>·<span·class="inlinecode"><span·class="id"·title="var">N0</span></span>)·when·implementing·by·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>. | 231 | ····by·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·but·leaves·some·(<span·class="inlinecode"><span·class="id"·title="var">N.succ</span></span>·<span·class="inlinecode"><span·class="id"·title="var">N0</span></span>)·when·implementing·by·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>. | 
| 232 | </div> | 232 | </div> | 
| Offset 280, 15 lines modified | Offset 280, 15 lines modified | ||
| 280 | <li>·three·constants·<span·class="inlinecode">0</span>,·<span·class="inlinecode">1</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">0</span>,·<span·class="inlinecode">2</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">1</span> | 280 | <li>·three·constants·<span·class="inlinecode">0</span>,·<span·class="inlinecode">1</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">0</span>,·<span·class="inlinecode">2</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">1</span> | 
| 281 | </li> | 281 | </li> | 
| 282 | </ul> | 282 | </ul> | 
| 283 | <div·class="paragraph">·</div> | 283 | <div·class="paragraph">·</div> | 
| 284 | <a·id="lab | 284 | <a·id="lab686"></a><h2·class="section">Axiomatization·of·basic·operations·:·<span·class="inlinecode">+</span>·<span·class="inlinecode">-</span>·<span·class="inlinecode">*</span></h2> | 
| 285 | </div> | 285 | </div> | 
| 286 | <div·class="code"> | 286 | <div·class="code"> | 
| 287 | <br/> | 287 | <br/> | 
| 288 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="AddSubMul"·class="idref"·href="#AddSubMul"><span·class="id"·title="module">AddSubMul</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">T</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Typ"><span·class="id"·title="module">Typ</span></a>).<br/> | 288 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="AddSubMul"·class="idref"·href="#AddSubMul"><span·class="id"·title="module">AddSubMul</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">T</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Typ"><span·class="id"·title="module">Typ</span></a>).<br/> | 
| 289 |  <span·class="id"·title="keyword">Parameters</span>·<span·class="id"·title="keyword">Inline</span>·<a·id="AddSubMul.add"·class="idref"·href="#AddSubMul.add"><span·class="id"·title="axiom">add</span></a>·<a·id="AddSubMul.sub"·class="idref"·href="#AddSubMul.sub"><span·class="id"·title="axiom">sub</span></a>·<a·id="AddSubMul.mul"·class="idref"·href="#AddSubMul.mul"><span·class="id"·title="axiom">mul</span></a>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#T.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 289 |  <span·class="id"·title="keyword">Parameters</span>·<span·class="id"·title="keyword">Inline</span>·<a·id="AddSubMul.add"·class="idref"·href="#AddSubMul.add"><span·class="id"·title="axiom">add</span></a>·<a·id="AddSubMul.sub"·class="idref"·href="#AddSubMul.sub"><span·class="id"·title="axiom">sub</span></a>·<a·id="AddSubMul.mul"·class="idref"·href="#AddSubMul.mul"><span·class="id"·title="axiom">mul</span></a>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#T.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 
| Offset 336, 15 lines modified | Offset 336, 15 lines modified | ||
| 336 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZAxiomsSig"·class="idref"·href="#NZAxiomsSig"><span·class="id"·title="module">NZAxiomsSig</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZBasicFunsSig"><span·class="id"·title="module">NZBasicFunsSig</span></a>.<br/> | 336 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZAxiomsSig"·class="idref"·href="#NZAxiomsSig"><span·class="id"·title="module">NZAxiomsSig</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZBasicFunsSig"><span·class="id"·title="module">NZBasicFunsSig</span></a>.<br/> | 
| 337 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZAxiomsSig'"·class="idref"·href="#NZAxiomsSig'"><span·class="id"·title="module">NZAxiomsSig'</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZBasicFunsSig'"><span·class="id"·title="module">NZBasicFunsSig'</span></a>.<br/> | 337 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZAxiomsSig'"·class="idref"·href="#NZAxiomsSig'"><span·class="id"·title="module">NZAxiomsSig'</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZBasicFunsSig'"><span·class="id"·title="module">NZBasicFunsSig'</span></a>.<br/> | 
| 338 | <br/> | 338 | <br/> | 
| 339 | </div> | 339 | </div> | 
| 340 | <div·class="doc"> | 340 | <div·class="doc"> | 
| 341 | <a·id="lab | 341 | <a·id="lab687"></a><h2·class="section">Axiomatization·of·order</h2> | 
| 342 | <div·class="paragraph">·</div> | 342 | <div·class="paragraph">·</div> | 
| 343 | ·The·module·type·<span·class="inlinecode"><span·class="id"·title="var">HasLt</span></span>·(resp.·<span·class="inlinecode"><span·class="id"·title="var">HasLe</span></span>)·is·just·a·type·equipped·with | 343 | ·The·module·type·<span·class="inlinecode"><span·class="id"·title="var">HasLt</span></span>·(resp.·<span·class="inlinecode"><span·class="id"·title="var">HasLe</span></span>)·is·just·a·type·equipped·with | 
| 344 | ····a·relation·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·(resp.·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>)·in·<span·class="inlinecode"><span·class="id"·title="keyword">Prop</span></span>.· | 344 | ····a·relation·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·(resp.·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>)·in·<span·class="inlinecode"><span·class="id"·title="keyword">Prop</span></span>.· | 
| 345 | </div> | 345 | </div> | 
| 346 | <div·class="code"> | 346 | <div·class="code"> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab688"></a><h1·class="section">Basic·lemmas·about·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZDomainSig'</span></span></h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | This·file·defines·the·functor·type·<span·class="inlinecode"><span·class="id"·title="var">NZBaseProp</span></span>·which·adds·the·following | 51 | This·file·defines·the·functor·type·<span·class="inlinecode"><span·class="id"·title="var">NZBaseProp</span></span>·which·adds·the·following | 
| 52 | lemmas: | 52 | lemmas: | 
| 53 | <ul·class="doclist"> | 53 | <ul·class="doclist"> | 
| Offset 186, 15 lines modified | Offset 186, 15 lines modified | ||
| 186 | <br/> | 186 | <br/> | 
| 187 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZDivProp.mod_small"·class="idref"·href="#NZDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:47"·class="idref"·href="#a:47"><span·class="id"·title="binder">a</span></a>·<a·id="b:48"·class="idref"·href="#b:48"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:47"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:48"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:47"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:48"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:47"><span·class="id"·title="variable">a</span></a>.<br/> | 187 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZDivProp.mod_small"·class="idref"·href="#NZDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:47"·class="idref"·href="#a:47"><span·class="id"·title="binder">a</span></a>·<a·id="b:48"·class="idref"·href="#b:48"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:47"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:48"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:47"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:48"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:47"><span·class="id"·title="variable">a</span></a>.<br/> | 
| 188 | <br/> | 188 | <br/> | 
| 189 | </div> | 189 | </div> | 
| 190 | <div·class="doc"> | 190 | <div·class="doc"> | 
| 191 | <a·id="lab | 191 | <a·id="lab693"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> | 
| 192 | </div> | 192 | </div> | 
| 193 | <div·class="code"> | 193 | <div·class="code"> | 
| 194 | <br/> | 194 | <br/> | 
| 195 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.div_0_l"·class="idref"·href="#NZDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:49"·class="idref"·href="#a:49"><span·class="id"·title="binder">a</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:49"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:49"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 195 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.div_0_l"·class="idref"·href="#NZDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:49"·class="idref"·href="#a:49"><span·class="id"·title="binder">a</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:49"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:49"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| Offset 219, 15 lines modified | Offset 219, 15 lines modified | ||
| 219 | <br/> | 219 | <br/> | 
| 220 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.mod_mul"·class="idref"·href="#NZDivProp.mod_mul"><span·class="id"·title="lemma">mod_mul</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:57"·class="idref"·href="#a:57"><span·class="id"·title="binder">a</span></a>·<a·id="b:58"·class="idref"·href="#b:58"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:57"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:58"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:57"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:58"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:58"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 220 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.mod_mul"·class="idref"·href="#NZDivProp.mod_mul"><span·class="id"·title="lemma">mod_mul</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:57"·class="idref"·href="#a:57"><span·class="id"·title="binder">a</span></a>·<a·id="b:58"·class="idref"·href="#b:58"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:57"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:58"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:57"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:58"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:58"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| 221 | <br/> | 221 | <br/> | 
| 222 | </div> | 222 | </div> | 
| 223 | <div·class="doc"> | 223 | <div·class="doc"> | 
| 224 | <a·id="lab | 224 | <a·id="lab694"></a><h1·class="section">Order·results·about·mod·and·div</h1> | 
| 225 | <div·class="paragraph">·</div> | 225 | <div·class="paragraph">·</div> | 
| 226 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 226 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 
| 227 | </div> | 227 | </div> | 
| 228 | <div·class="code"> | 228 | <div·class="code"> | 
| Offset 331, 15 lines modified | Offset 331, 15 lines modified | ||
| 331 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.div_le_compat_l"·class="idref"·href="#NZDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:91"·class="idref"·href="#p:91"><span·class="id"·title="binder">p</span></a>·<a·id="q:92"·class="idref"·href="#q:92"><span·class="id"·title="binder">q</span></a>·<a·id="r:93"·class="idref"·href="#r:93"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#p:91"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#q:92"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 331 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.div_le_compat_l"·class="idref"·href="#NZDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:91"·class="idref"·href="#p:91"><span·class="id"·title="binder">p</span></a>·<a·id="q:92"·class="idref"·href="#q:92"><span·class="id"·title="binder">q</span></a>·<a·id="r:93"·class="idref"·href="#r:93"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#p:91"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#q:92"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 332 |     <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#q:92"><span·class="id"·title="variable">q</span></a>.<br/> | 332 |     <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#q:92"><span·class="id"·title="variable">q</span></a>.<br/> | 
| 333 | <br/> | 333 | <br/> | 
| 334 | </div> | 334 | </div> | 
| 335 | <div·class="doc"> | 335 | <div·class="doc"> | 
| 336 | <a·id="lab | 336 | <a·id="lab695"></a><h1·class="section">Relations·between·usual·operations·and·mod·and·div</h1> | 
| 337 | </div> | 337 | </div> | 
| 338 | <div·class="code"> | 338 | <div·class="code"> | 
| 339 | <br/> | 339 | <br/> | 
| 340 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.mod_add"·class="idref"·href="#NZDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:94"·class="idref"·href="#a:94"><span·class="id"·title="binder">a</span></a>·<a·id="b:95"·class="idref"·href="#b:95"><span·class="id"·title="binder">b</span></a>·<a·id="c:96"·class="idref"·href="#c:96"><span·class="id"·title="binder">c</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:95"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 340 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.mod_add"·class="idref"·href="#NZDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:94"·class="idref"·href="#a:94"><span·class="id"·title="binder">a</span></a>·<a·id="b:95"·class="idref"·href="#b:95"><span·class="id"·title="binder">b</span></a>·<a·id="c:96"·class="idref"·href="#c:96"><span·class="id"·title="binder">c</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:95"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 341 |  <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:95"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a>.<br/> | 341 |  <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:95"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a>.<br/> | 
| Offset 74, 15 lines modified | Offset 74, 15 lines modified | ||
| 74 | <span·class="id"·title="keyword">Module</span>·<a·id="NZDomainProp"·class="idref"·href="#NZDomainProp"><span·class="id"·title="module">NZDomainProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZ</span>:<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZDomainSig'"><span·class="id"·title="module">NZDomainSig'</span></a>).<br/> | 74 | <span·class="id"·title="keyword">Module</span>·<a·id="NZDomainProp"·class="idref"·href="#NZDomainProp"><span·class="id"·title="module">NZDomainProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZ</span>:<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZDomainSig'"><span·class="id"·title="module">NZDomainSig'</span></a>).<br/> | 
| 75 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZBase.html#NZBaseProp"><span·class="id"·title="module">NZBaseProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ"><span·class="id"·title="module">NZ</span></a>.<br/> | 75 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZBase.html#NZBaseProp"><span·class="id"·title="module">NZBaseProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ"><span·class="id"·title="module">NZ</span></a>.<br/> | 
| 76 | <br/> | 76 | <br/> | 
| 77 | </div> | 77 | </div> | 
| 78 | <div·class="doc"> | 78 | <div·class="doc"> | 
| 79 | <a·id="lab | 79 | <a·id="lab690"></a><h1·class="section">Relationship·between·points·thanks·to·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">pred</span></span>.</h1> | 
| 80 | <div·class="paragraph">·</div> | 80 | <div·class="paragraph">·</div> | 
| 81 | ·For·any·two·points,·one·is·an·iterated·successor·of·the·other.· | 81 | ·For·any·two·points,·one·is·an·iterated·successor·of·the·other.· | 
| 82 | </div> | 82 | </div> | 
| 83 | <div·class="code"> | 83 | <div·class="code"> | 
| Offset 125, 15 lines modified | Offset 125, 15 lines modified | ||
| 125 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDomainProp.itersucc0_or_iterpred0"·class="idref"·href="#NZDomainProp.itersucc0_or_iterpred0"><span·class="id"·title="lemma">itersucc0_or_iterpred0</span></a>·:<br/> | 125 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDomainProp.itersucc0_or_iterpred0"·class="idref"·href="#NZDomainProp.itersucc0_or_iterpred0"><span·class="id"·title="lemma">itersucc0_or_iterpred0</span></a>·:<br/> | 
| 126 |  <span·class="id"·title="keyword">forall</span>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="p:17"·class="idref"·href="#p:17"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#n:16"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">0</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#n:16"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.P"><span·class="id"·title="abbreviation">P</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">0</span></a>.<br/> | 126 |  <span·class="id"·title="keyword">forall</span>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="p:17"·class="idref"·href="#p:17"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#n:16"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">0</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#n:16"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.P"><span·class="id"·title="abbreviation">P</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">0</span></a>.<br/> | 
| 127 | <br/> | 127 | <br/> | 
| 128 | </div> | 128 | </div> | 
| 129 | <div·class="doc"> | 129 | <div·class="doc"> | 
| 130 | <a·id="lab | 130 | <a·id="lab691"></a><h1·class="section">Study·of·initial·point·w.r.t.·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span>·(if·any).</h1> | 
| 131 | </div> | 131 | </div> | 
| 132 | <div·class="code"> | 132 | <div·class="code"> | 
| 133 | <br/> | 133 | <br/> | 
| 134 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZDomainProp.initial"·class="idref"·href="#NZDomainProp.initial"><span·class="id"·title="definition">initial</span></a>·<a·id="n:18"·class="idref"·href="#n:18"><span·class="id"·title="binder">n</span></a>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="m:19"·class="idref"·href="#m:19"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#n:18"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#m:19"><span·class="id"·title="variable">m</span></a>.<br/> | 134 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZDomainProp.initial"·class="idref"·href="#NZDomainProp.initial"><span·class="id"·title="definition">initial</span></a>·<a·id="n:18"·class="idref"·href="#n:18"><span·class="id"·title="binder">n</span></a>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="m:19"·class="idref"·href="#m:19"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#n:18"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#m:19"><span·class="id"·title="variable">m</span></a>.<br/> | 
| Offset 249, 15 lines modified | Offset 249, 15 lines modified | ||
| 249 | <div·class="paragraph">·</div> | 249 | <div·class="paragraph">·</div> | 
| 250 | ·····IIa)·if·<span·class="inlinecode"><span·class="id"·title="tactic">exists</span></span>·<span·class="inlinecode"><span·class="id"·title="var">k</span><><span·class="id"·title="var">O</span>,</span>·<span·class="inlinecode">0</span>·<span·class="inlinecode">==</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span>^<span·class="id"·title="var">k</span></span>·<span·class="inlinecode">0</span>,·then·we·have·a·cyclic·structure·Z/nZ | 250 | ·····IIa)·if·<span·class="inlinecode"><span·class="id"·title="tactic">exists</span></span>·<span·class="inlinecode"><span·class="id"·title="var">k</span><><span·class="id"·title="var">O</span>,</span>·<span·class="inlinecode">0</span>·<span·class="inlinecode">==</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span>^<span·class="id"·title="var">k</span></span>·<span·class="inlinecode">0</span>,·then·we·have·a·cyclic·structure·Z/nZ | 
| 251 | ·····IIb)·otherwise,·we·have·Z | 251 | ·····IIb)·otherwise,·we·have·Z | 
| 252 | <div·class="paragraph">·</div> | 252 | <div·class="paragraph">·</div> | 
| 253 | <a·id="lab | 253 | <a·id="lab692"></a><h1·class="section">An·alternative·induction·principle·using·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>.</h1> | 
| 254 | <div·class="paragraph">·</div> | 254 | <div·class="paragraph">·</div> | 
| 255 | ·It·is·weaker·than·<span·class="inlinecode"><span·class="id"·title="var">bi_induction</span></span>.·For·instance·it·cannot·prove·that | 255 | ·It·is·weaker·than·<span·class="inlinecode"><span·class="id"·title="var">bi_induction</span></span>.·For·instance·it·cannot·prove·that | 
| 256 | ····we·can·go·from·one·point·by·many·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<i>or</i>·many·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>,·but·only·by·many | 256 | ····we·can·go·from·one·point·by·many·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<i>or</i>·many·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>,·but·only·by·many | 
| 257 | ····<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·mixed·with·many·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>.·Think·of·a·model·with·two·copies·of·N: | 257 | ····<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·mixed·with·many·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>.·Think·of·a·model·with·two·copies·of·N: | 
| Offset 414, 15 lines modified | Offset 414, 15 lines modified | ||
| 414 |  (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZPow.html#NZPowProp"><span·class="id"·title="module">NZPowProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#D"><span·class="id"·title="module">D</span></a>)<br/> | 414 |  (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZPow.html#NZPowProp"><span·class="id"·title="module">NZPowProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#D"><span·class="id"·title="module">D</span></a>)<br/> | 
| 415 |  (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">F</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#NZLog2Prop"><span·class="id"·title="module">NZLog2Prop</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#C"><span·class="id"·title="module">C</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#D"><span·class="id"·title="module">D</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 415 |  (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">F</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#NZLog2Prop"><span·class="id"·title="module">NZLog2Prop</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#C"><span·class="id"·title="module">C</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#D"><span·class="id"·title="module">D</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 
| 416 | <br/> | 416 | <br/> | 
| 417 | </div> | 417 | </div> | 
| 418 | <div·class="doc"> | 418 | <div·class="doc"> | 
| 419 | <a·id="lab | 419 | <a·id="lab689"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">log2_up</span></span>·:·a·binary·logarithm·that·rounds·up·instead·of·down</h1> | 
| 420 | <div·class="paragraph">·</div> | 420 | <div·class="paragraph">·</div> | 
| 421 | ·For·once,·we·define·instead·of·axiomatizing,·thanks·to·log2· | 421 | ·For·once,·we·define·instead·of·axiomatizing,·thanks·to·log2· | 
| 422 | </div> | 422 | </div> | 
| 423 | <div·class="code"> | 423 | <div·class="code"> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab681"></a><h1·class="section">Some·properties·of·the·multiplication·for·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</span></span></h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZMulProp</span></span>·functor·type·on·top·of·<span·class="inlinecode"><span·class="id"·title="var">NZAddProp</span></span>.·This | 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZMulProp</span></span>·functor·type·on·top·of·<span·class="inlinecode"><span·class="id"·title="var">NZAddProp</span></span>.·This | 
| 52 | functor·type·is·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</span></span>. | 52 | functor·type·is·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</span></span>. | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab696"></a><h1·class="section">Properties·of·orders·and·multiplication·for·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span></h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZMulOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d | 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZMulOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d | 
| 52 | in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span>·(see·<span·class="inlinecode"><span·class="id"·title="var">Coq.Numbers.NatInt.NZAxioms</span></span>). | 52 | in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span>·(see·<span·class="inlinecode"><span·class="id"·title="var">Coq.Numbers.NatInt.NZAxioms</span></span>). | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab699"></a><h1·class="section">Lemmas·about·orders·for·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdSig'</span></span></h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in | 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in | 
| 52 | a·module·implementing·the·<span·class="inlinecode"><span·class="id"·title="var">NZOrdSig'</span></span>·module·type. | 52 | a·module·implementing·the·<span·class="inlinecode"><span·class="id"·title="var">NZOrdSig'</span></span>·module·type. | 
| Offset 101, 19 lines modified | Offset 101, 19 lines modified | ||
| 101 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZOrderProp"·class="idref"·href="#NZOrderProp"><span·class="id"·title="module">NZOrderProp</span></a><br/> | 101 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZOrderProp"·class="idref"·href="#NZOrderProp"><span·class="id"·title="module">NZOrderProp</span></a><br/> | 
| 102 |  (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZ</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZOrdSig'"><span·class="id"·title="module">NZOrdSig'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZBase</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZBase.html#NZBaseProp"><span·class="id"·title="module">NZBaseProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ"><span·class="id"·title="module">NZ</span></a>).<br/> | 102 |  (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZ</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZOrdSig'"><span·class="id"·title="module">NZOrdSig'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZBase</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZBase.html#NZBaseProp"><span·class="id"·title="module">NZBaseProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ"><span·class="id"·title="module">NZ</span></a>).<br/> | 
| 103 | <br/> | 103 | <br/> | 
| 104 | </div> | 104 | </div> | 
| 105 | <div·class="doc"> | 105 | <div·class="doc"> | 
| 106 | <a·id="lab | 106 | <a·id="lab700"></a><h2·class="section">Basic·facts·about·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span></h2> | 
| 107 | <div·class="paragraph">·</div> | 107 | <div·class="paragraph">·</div> | 
| 108 | <a·id="lab | 108 | <a·id="lab701"></a><h3·class="section">Direct·consequences·of·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">le</span></span></h3> | 
| 109 | </div> | 109 | </div> | 
| 110 | <div·class="code"> | 110 | <div·class="code"> | 
| 111 | #[<span·class="id"·title="var">global</span>]<br/> | 111 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 112 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.le_wd"·class="idref"·href="#NZOrderProp.le_wd"><span·class="id"·title="instance">le_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.eq"><span·class="id"·title="axiom">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.eq"><span·class="id"·title="axiom">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.le"><span·class="id"·title="axiom">le</span></a>.<br/> | 112 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.le_wd"·class="idref"·href="#NZOrderProp.le_wd"><span·class="id"·title="instance">le_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.eq"><span·class="id"·title="axiom">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.eq"><span·class="id"·title="axiom">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.le"><span·class="id"·title="axiom">le</span></a>.<br/> | 
| 113 | <br/> | 113 | <br/> | 
| Offset 163, 15 lines modified | Offset 163, 15 lines modified | ||
| 163 | <br/> | 163 | <br/> | 
| 164 | <span·class="id"·title="keyword">Notation</span>·<a·id="NZOrderProp.lt_eq_gt_cases"·class="idref"·href="#NZOrderProp.lt_eq_gt_cases"><span·class="id"·title="abbreviation">lt_eq_gt_cases</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.lt_trichotomy"><span·class="id"·title="lemma">lt_trichotomy</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 164 | <span·class="id"·title="keyword">Notation</span>·<a·id="NZOrderProp.lt_eq_gt_cases"·class="idref"·href="#NZOrderProp.lt_eq_gt_cases"><span·class="id"·title="abbreviation">lt_eq_gt_cases</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.lt_trichotomy"><span·class="id"·title="lemma">lt_trichotomy</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 165 | <br/> | 165 | <br/> | 
| 166 | </div> | 166 | </div> | 
| 167 | <div·class="doc"> | 167 | <div·class="doc"> | 
| 168 | <a·id="lab | 168 | <a·id="lab702"></a><h3·class="section">Asymmetry·and·transitivity.</h3> | 
| 169 | </div> | 169 | </div> | 
| 170 | <div·class="code"> | 170 | <div·class="code"> | 
| 171 | <br/> | 171 | <br/> | 
| 172 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_asymm"·class="idref"·href="#NZOrderProp.lt_asymm"><span·class="id"·title="lemma">lt_asymm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:16"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:16"><span·class="id"·title="variable">n</span></a>.<br/> | 172 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_asymm"·class="idref"·href="#NZOrderProp.lt_asymm"><span·class="id"·title="lemma">lt_asymm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:16"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:16"><span·class="id"·title="variable">n</span></a>.<br/> | 
| Offset 184, 15 lines modified | Offset 184, 15 lines modified | ||
| 184 | <br/> | 184 | <br/> | 
| 185 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_trans"·class="idref"·href="#NZOrderProp.le_trans"><span·class="id"·title="lemma">le_trans</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:21"·class="idref"·href="#n:21"><span·class="id"·title="binder">n</span></a>·<a·id="m:22"·class="idref"·href="#m:22"><span·class="id"·title="binder">m</span></a>·<a·id="p:23"·class="idref"·href="#p:23"><span·class="id"·title="binder">p</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:21"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:22"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:22"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#p:23"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:21"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#p:23"><span·class="id"·title="variable">p</span></a>.<br/> | 185 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_trans"·class="idref"·href="#NZOrderProp.le_trans"><span·class="id"·title="lemma">le_trans</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:21"·class="idref"·href="#n:21"><span·class="id"·title="binder">n</span></a>·<a·id="m:22"·class="idref"·href="#m:22"><span·class="id"·title="binder">m</span></a>·<a·id="p:23"·class="idref"·href="#p:23"><span·class="id"·title="binder">p</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:21"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:22"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:22"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#p:23"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:21"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#p:23"><span·class="id"·title="variable">p</span></a>.<br/> | 
| 186 | <br/> | 186 | <br/> | 
| 187 | </div> | 187 | </div> | 
| 188 | <div·class="doc"> | 188 | <div·class="doc"> | 
| 189 | <a·id="lab | 189 | <a·id="lab703"></a><h3·class="section">Some·type·classes·about·order</h3> | 
| 190 | </div> | 190 | </div> | 
| 191 | <div·class="code"> | 191 | <div·class="code"> | 
| 192 | <br/> | 192 | <br/> | 
| 193 | #[<span·class="id"·title="var">global</span>]<br/> | 193 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 194 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.lt_strorder"·class="idref"·href="#NZOrderProp.lt_strorder"><span·class="id"·title="instance">lt_strorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#StrictOrder"><span·class="id"·title="class">StrictOrder</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.lt"><span·class="id"·title="axiom">lt</span></a>.<br/> | 194 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.lt_strorder"·class="idref"·href="#NZOrderProp.lt_strorder"><span·class="id"·title="instance">lt_strorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#StrictOrder"><span·class="id"·title="class">StrictOrder</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.lt"><span·class="id"·title="axiom">lt</span></a>.<br/> | 
| Offset 205, 15 lines modified | Offset 205, 15 lines modified | ||
| 205 | #[<span·class="id"·title="var">global</span>]<br/> | 205 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 206 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.le_partialorder"·class="idref"·href="#NZOrderProp.le_partialorder"><span·class="id"·title="instance">le_partialorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#PartialOrder"><span·class="id"·title="class">PartialOrder</span></a>·<span·class="id"·title="var">_</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.le"><span·class="id"·title="axiom">le</span></a>.<br/> | 206 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.le_partialorder"·class="idref"·href="#NZOrderProp.le_partialorder"><span·class="id"·title="instance">le_partialorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#PartialOrder"><span·class="id"·title="class">PartialOrder</span></a>·<span·class="id"·title="var">_</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.le"><span·class="id"·title="axiom">le</span></a>.<br/> | 
| 207 | <br/> | 207 | <br/> | 
| 208 | </div> | 208 | </div> | 
| 209 | <div·class="doc"> | 209 | <div·class="doc"> | 
| 210 | <a·id="lab | 210 | <a·id="lab704"></a><h3·class="section">Making·the·generic·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic</h3> | 
| 211 | </div> | 211 | </div> | 
| 212 | <div·class="code"> | 212 | <div·class="code"> | 
| 213 | <br/> | 213 | <br/> | 
| 214 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZOrderProp.lt_compat"·class="idref"·href="#NZOrderProp.lt_compat"><span·class="id"·title="definition">lt_compat</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.lt_wd"><span·class="id"·title="axiom">lt_wd</span></a>.<br/> | 214 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZOrderProp.lt_compat"·class="idref"·href="#NZOrderProp.lt_compat"><span·class="id"·title="definition">lt_compat</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.lt_wd"><span·class="id"·title="axiom">lt_wd</span></a>.<br/> | 
| 215 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZOrderProp.lt_total"·class="idref"·href="#NZOrderProp.lt_total"><span·class="id"·title="definition">lt_total</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.lt_trichotomy"><span·class="id"·title="lemma">lt_trichotomy</span></a>.<br/> | 215 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZOrderProp.lt_total"·class="idref"·href="#NZOrderProp.lt_total"><span·class="id"·title="definition">lt_total</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.lt_trichotomy"><span·class="id"·title="lemma">lt_trichotomy</span></a>.<br/> | 
| Offset 232, 15 lines modified | Offset 232, 15 lines modified | ||
| 232 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.Private_OrderTac"><span·class="id"·title="module">Private_OrderTac</span></a>.<br/> | 232 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.Private_OrderTac"><span·class="id"·title="module">Private_OrderTac</span></a>.<br/> | 
| 233 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">order</span>·:=·<span·class="id"·title="var">Private_OrderTac.Tac.order</span>.<br/> | 233 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">order</span>·:=·<span·class="id"·title="var">Private_OrderTac.Tac.order</span>.<br/> | 
| 234 | <br/> | 234 | <br/> | 
| 235 | </div> | 235 | </div> | 
| 236 | <div·class="doc"> | 236 | <div·class="doc"> | 
| 237 | <a·id="lab | 237 | <a·id="lab705"></a><h3·class="section">Some·direct·consequences·of·<span·class="inlinecode"><span·class="id"·title="var">order</span></span></h3> | 
| 238 | </div> | 238 | </div> | 
| 239 | <div·class="code"> | 239 | <div·class="code"> | 
| 240 | <br/> | 240 | <br/> | 
| 241 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_neq"·class="idref"·href="#NZOrderProp.lt_neq"><span·class="id"·title="lemma">lt_neq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:24"·class="idref"·href="#n:24"><span·class="id"·title="binder">n</span></a>·<a·id="m:25"·class="idref"·href="#m:25"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:24"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:25"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:24"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:25"><span·class="id"·title="variable">m</span></a>.<br/> | 241 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_neq"·class="idref"·href="#NZOrderProp.lt_neq"><span·class="id"·title="lemma">lt_neq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:24"·class="idref"·href="#n:24"><span·class="id"·title="binder">n</span></a>·<a·id="m:25"·class="idref"·href="#m:25"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:24"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:25"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:24"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:25"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 242 | · | 242 | · | 
| Offset 277, 15 lines modified | Offset 277, 15 lines modified | ||
| 277 | <br/> | 277 | <br/> | 
| 278 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_antisymm"·class="idref"·href="#NZOrderProp.le_antisymm"><span·class="id"·title="lemma">le_antisymm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:48"·class="idref"·href="#n:48"><span·class="id"·title="binder">n</span></a>·<a·id="m:49"·class="idref"·href="#m:49"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:48"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:49"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:49"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:48"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:48"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:49"><span·class="id"·title="variable">m</span></a>.<br/> | 278 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_antisymm"·class="idref"·href="#NZOrderProp.le_antisymm"><span·class="id"·title="lemma">le_antisymm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:48"·class="idref"·href="#n:48"><span·class="id"·title="binder">n</span></a>·<a·id="m:49"·class="idref"·href="#m:49"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:48"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:49"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:49"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:48"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:48"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:49"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 279 | · | 279 | · | 
| 280 | <br/> | 280 | <br/> | 
| 281 | </div> | 281 | </div> | 
| 282 | <div·class="doc"> | 282 | <div·class="doc"> | 
| 283 | <a·id="lab | 283 | <a·id="lab706"></a><h3·class="section">More·properties·of·<span·class="inlinecode"><</span>·and·<span·class="inlinecode"><=</span>·with·respect·to·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·and·<span·class="inlinecode">0</span></h3> | 
| 284 | </div> | 284 | </div> | 
| 285 | <div·class="code"> | 285 | <div·class="code"> | 
| 286 | <br/> | 286 | <br/> | 
| 287 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_succ_r"·class="idref"·href="#NZOrderProp.le_succ_r"><span·class="id"·title="lemma">le_succ_r</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:50"·class="idref"·href="#n:50"><span·class="id"·title="binder">n</span></a>·<a·id="m:51"·class="idref"·href="#m:51"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><span·class="id"·title="variable">m</span></a>.<br/> | 287 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_succ_r"·class="idref"·href="#NZOrderProp.le_succ_r"><span·class="id"·title="lemma">le_succ_r</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:50"·class="idref"·href="#n:50"><span·class="id"·title="binder">n</span></a>·<a·id="m:51"·class="idref"·href="#m:51"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><span·class="id"·title="variable">m</span></a>.<br/> | 
| Offset 333, 15 lines modified | Offset 333, 15 lines modified | ||
| 333 | <br/> | 333 | <br/> | 
| 334 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_1_l"·class="idref"·href="#NZOrderProp.lt_1_l"><span·class="id"·title="lemma">lt_1_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:62"·class="idref"·href="#n:62"><span·class="id"·title="binder">n</span></a>·<a·id="m:63"·class="idref"·href="#m:63"><span·class="id"·title="binder">m</span></a>,·0·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:62"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:62"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:63"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·1·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:63"><span·class="id"·title="variable">m</span></a>.<br/> | 334 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_1_l"·class="idref"·href="#NZOrderProp.lt_1_l"><span·class="id"·title="lemma">lt_1_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:62"·class="idref"·href="#n:62"><span·class="id"·title="binder">n</span></a>·<a·id="m:63"·class="idref"·href="#m:63"><span·class="id"·title="binder">m</span></a>,·0·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:62"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:62"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:63"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·1·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:63"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 335 | <br/> | 335 | <br/> | 
| 336 | </div> | 336 | </div> | 
| 337 | <div·class="doc"> | 337 | <div·class="doc"> | 
| 338 | <a·id="lab | 338 | <a·id="lab707"></a><h3·class="section">More·Trichotomy,·decidability·and·double·negation·elimination</h3> | 
| 339 | <div·class="paragraph">·</div> | 339 | <div·class="paragraph">·</div> | 
| Max diff block lines reached; 2099/20092 bytes (10.45%) of diff not shown. | |||
| Offset 344, 15 lines modified | Offset 344, 15 lines modified | ||
| 344 |  (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">C</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZMulOrder.html#NZMulOrderProp"><span·class="id"·title="module">NZMulOrderProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#A"><span·class="id"·title="module">A</span></a>)<br/> | 344 |  (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">C</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZMulOrder.html#NZMulOrderProp"><span·class="id"·title="module">NZMulOrderProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#A"><span·class="id"·title="module">A</span></a>)<br/> | 
| 345 |  (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">D</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#NZSqrtProp"><span·class="id"·title="module">NZSqrtProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#C"><span·class="id"·title="module">C</span></a>).<br/> | 345 |  (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">D</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#NZSqrtProp"><span·class="id"·title="module">NZSqrtProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#C"><span·class="id"·title="module">C</span></a>).<br/> | 
| 346 | <br/> | 346 | <br/> | 
| 347 | </div> | 347 | </div> | 
| 348 | <div·class="doc"> | 348 | <div·class="doc"> | 
| 349 | <a·id="lab | 349 | <a·id="lab682"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">sqrt_up</span></span>·:·a·square·root·that·rounds·up·instead·of·down</h1> | 
| 350 | </div> | 350 | </div> | 
| 351 | <div·class="code"> | 351 | <div·class="code"> | 
| 352 | <br/> | 352 | <br/> | 
| 353 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="81ce257586db1a446e3fc4dfd8f6874e"·class="idref"·href="#81ce257586db1a446e3fc4dfd8f6874e"><span·class="id"·title="notation">"</span></a>a·²"·:=·(<span·class="id"·title="var">a</span><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><span·class="id"·title="var">a</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·5,·<span·class="id"·title="keyword">no</span>·<span·class="id"·title="keyword">associativity</span>,·<span·class="id"·title="var">format</span>·"a·²").<br/> | 353 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="81ce257586db1a446e3fc4dfd8f6874e"·class="idref"·href="#81ce257586db1a446e3fc4dfd8f6874e"><span·class="id"·title="notation">"</span></a>a·²"·:=·(<span·class="id"·title="var">a</span><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><span·class="id"·title="var">a</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·5,·<span·class="id"·title="keyword">no</span>·<span·class="id"·title="keyword">associativity</span>,·<span·class="id"·title="var">format</span>·"a·²").<br/> | 
| Offset 154, 15 lines modified | Offset 154, 15 lines modified | ||
| 154 | <br/> | 154 | <br/> | 
| 155 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NDivProp.mod_small"·class="idref"·href="#NDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:25"·class="idref"·href="#a:25"><span·class="id"·title="binder">a</span></a>·<a·id="b:26"·class="idref"·href="#b:26"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>.<br/> | 155 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NDivProp.mod_small"·class="idref"·href="#NDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:25"·class="idref"·href="#a:25"><span·class="id"·title="binder">a</span></a>·<a·id="b:26"·class="idref"·href="#b:26"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>.<br/> | 
| 156 | · | 156 | · | 
| 157 | <br/> | 157 | <br/> | 
| 158 | </div> | 158 | </div> | 
| 159 | <div·class="doc"> | 159 | <div·class="doc"> | 
| 160 | <a·id="lab | 160 | <a·id="lab743"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> | 
| 161 | </div> | 161 | </div> | 
| 162 | <div·class="code"> | 162 | <div·class="code"> | 
| 163 | <br/> | 163 | <br/> | 
| 164 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.div_0_l"·class="idref"·href="#NDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:27"·class="idref"·href="#a:27"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:27"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:27"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 164 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.div_0_l"·class="idref"·href="#NDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:27"·class="idref"·href="#a:27"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:27"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:27"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| 165 | · | 165 | · | 
| Offset 187, 15 lines modified | Offset 187, 15 lines modified | ||
| 187 | <br/> | 187 | <br/> | 
| 188 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.mod_mul"·class="idref"·href="#NDivProp.mod_mul"><span·class="id"·title="lemma">mod_mul</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:35"·class="idref"·href="#a:35"><span·class="id"·title="binder">a</span></a>·<a·id="b:36"·class="idref"·href="#b:36"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:36"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:35"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:36"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:36"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 188 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.mod_mul"·class="idref"·href="#NDivProp.mod_mul"><span·class="id"·title="lemma">mod_mul</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:35"·class="idref"·href="#a:35"><span·class="id"·title="binder">a</span></a>·<a·id="b:36"·class="idref"·href="#b:36"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:36"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:35"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:36"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:36"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| 189 | · | 189 | · | 
| 190 | <br/> | 190 | <br/> | 
| 191 | </div> | 191 | </div> | 
| 192 | <div·class="doc"> | 192 | <div·class="doc"> | 
| 193 | <a·id="lab | 193 | <a·id="lab744"></a><h1·class="section">Order·results·about·mod·and·div</h1> | 
| 194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> | 
| 195 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 195 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 
| 196 | </div> | 196 | </div> | 
| 197 | <div·class="code"> | 197 | <div·class="code"> | 
| Offset 285, 15 lines modified | Offset 285, 15 lines modified | ||
| 285 | <br/> | 285 | <br/> | 
| 286 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.div_le_compat_l"·class="idref"·href="#NDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:67"·class="idref"·href="#p:67"><span·class="id"·title="binder">p</span></a>·<a·id="q:68"·class="idref"·href="#q:68"><span·class="id"·title="binder">q</span></a>·<a·id="r:69"·class="idref"·href="#r:69"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#q:68"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#r:69"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#p:67"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#r:69"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#p:67"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#q:68"><span·class="id"·title="variable">q</span></a>.<br/> | 286 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.div_le_compat_l"·class="idref"·href="#NDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:67"·class="idref"·href="#p:67"><span·class="id"·title="binder">p</span></a>·<a·id="q:68"·class="idref"·href="#q:68"><span·class="id"·title="binder">q</span></a>·<a·id="r:69"·class="idref"·href="#r:69"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#q:68"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#r:69"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#p:67"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#r:69"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#p:67"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#q:68"><span·class="id"·title="variable">q</span></a>.<br/> | 
| 287 | · | 287 | · | 
| 288 | <br/> | 288 | <br/> | 
| 289 | </div> | 289 | </div> | 
| 290 | <div·class="doc"> | 290 | <div·class="doc"> | 
| 291 | <a·id="lab | 291 | <a·id="lab745"></a><h1·class="section">Relations·between·usual·operations·and·mod·and·div</h1> | 
| 292 | </div> | 292 | </div> | 
| 293 | <div·class="code"> | 293 | <div·class="code"> | 
| 294 | <br/> | 294 | <br/> | 
| 295 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.mod_add"·class="idref"·href="#NDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:70"·class="idref"·href="#a:70"><span·class="id"·title="binder">a</span></a>·<a·id="b:71"·class="idref"·href="#b:71"><span·class="id"·title="binder">b</span></a>·<a·id="c:72"·class="idref"·href="#c:72"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 295 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.mod_add"·class="idref"·href="#NDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:70"·class="idref"·href="#a:70"><span·class="id"·title="binder">a</span></a>·<a·id="b:71"·class="idref"·href="#b:71"><span·class="id"·title="binder">b</span></a>·<a·id="c:72"·class="idref"·href="#c:72"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 296 |  <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:70"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:71"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:70"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</span></a>.<br/> | 296 |  <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:70"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:71"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:70"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</span></a>.<br/> | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#"><span·class="id"·title="library">NSub</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#"><span·class="id"·title="library">NDiv</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NGcd.html#"><span·class="id"·title="library">NGcd</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#"><span·class="id"·title="library">NSub</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#"><span·class="id"·title="library">NDiv</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NGcd.html#"><span·class="id"·title="library">NGcd</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab742"></a><h1·class="section">Least·Common·Multiple</h1> | 
| 54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> | 
| 55 | ·Unlike·other·functions·around,·we·will·define·lcm·below·instead·of | 55 | ·Unlike·other·functions·around,·we·will·define·lcm·below·instead·of | 
| 56 | ··axiomatizing·it.·Indeed,·there·is·no·"prior·art"·about·lcm·in·the | 56 | ··axiomatizing·it.·Indeed,·there·is·no·"prior·art"·about·lcm·in·the | 
| 57 | ··standard·library·to·be·compliant·with,·and·the·generic·definition | 57 | ··standard·library·to·be·compliant·with,·and·the·generic·definition | 
| 58 | ··of·lcm·via·gcd·is·quite·reasonable. | 58 | ··of·lcm·via·gcd·is·quite·reasonable. | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#"><span·class="id"·title="library">NSub</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#"><span·class="id"·title="library">NSub</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab7"></a><h1·class="section">Properties·of·minimum·and·maximum·specific·to·natural·numbers</h1> | 53 | <a·id="lab741"></a><h1·class="section">Properties·of·minimum·and·maximum·specific·to·natural·numbers</h1> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="code"> | 55 | <div·class="code"> | 
| 56 | <br/> | 56 | <br/> | 
| 57 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NMaxMinProp"·class="idref"·href="#NMaxMinProp"><span·class="id"·title="module">NMaxMinProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">N</span>·:·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#NAxiomsMiniSig'"><span·class="id"·title="module">NAxiomsMiniSig'</span></a>).<br/> | 57 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NMaxMinProp"·class="idref"·href="#NMaxMinProp"><span·class="id"·title="module">NMaxMinProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">N</span>·:·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#NAxiomsMiniSig'"><span·class="id"·title="module">NAxiomsMiniSig'</span></a>).<br/> | 
| 58 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#NSubProp"><span·class="id"·title="module">NSubProp</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NMaxMin.html#N"><span·class="id"·title="module">N</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#NSubProp"><span·class="id"·title="module">NSubProp</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NMaxMin.html#N"><span·class="id"·title="module">N</span></a>.<br/> | 
| Offset 55, 15 lines modified | Offset 55, 15 lines modified | ||
| 55 | <br/> | 55 | <br/> | 
| 56 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">N_scope</span>.<br/> | 56 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">N_scope</span>.<br/> | 
| 57 | <br/> | 57 | <br/> | 
| 58 | </div> | 58 | </div> | 
| 59 | <div·class="doc"> | 59 | <div·class="doc"> | 
| 60 | <a·id="lab | 60 | <a·id="lab746"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">BinNat.N</span></span>·already·implements·<span·class="inlinecode"><span·class="id"·title="var">NAxiomSig</span></span></h1> | 
| 61 | </div> | 61 | </div> | 
| 62 | <div·class="code"> | 62 | <div·class="code"> | 
| 63 | <br/> | 63 | <br/> | 
| 64 | <span·class="id"·title="keyword">Module</span>·<a·id="N"·class="idref"·href="#N"><span·class="id"·title="module">N</span></a>·<:·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#NAxiomsSig"><span·class="id"·title="module">NAxiomsSig</span></a>·:=·<a·class="idref"·href="Coq.NArith.BinNat.html#N"><span·class="id"·title="module">N</span></a>.<br/> | 64 | <span·class="id"·title="keyword">Module</span>·<a·id="N"·class="idref"·href="#N"><span·class="id"·title="module">N</span></a>·<:·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#NAxiomsSig"><span·class="id"·title="module">NAxiomsSig</span></a>·:=·<a·class="idref"·href="Coq.NArith.BinNat.html#N"><span·class="id"·title="module">N</span></a>.<br/> | 
| Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
| 53 | <br/> | 53 | <br/> | 
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#"><span·class="id"·title="library">BinPosDef</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#"><span·class="id"·title="library">BinPosDef</span></a>.<br/> | 
| 55 | <br/> | 55 | <br/> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="doc"> | 57 | <div·class="doc"> | 
| 58 | <a·id="lab | 58 | <a·id="lab326"></a><h1·class="section">Binary·positive·numbers,·operations·and·properties</h1> | 
| 59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> | 
| 60 | ·Initial·development·by·Pierre·Crégut,·CNET,·Lannion,·France· | 60 | ·Initial·development·by·Pierre·Crégut,·CNET,·Lannion,·France· | 
| 61 | <div·class="paragraph">·</div> | 61 | <div·class="paragraph">·</div> | 
| 62 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">xI</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xO</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xH</span></span> | 62 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">xI</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xO</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xH</span></span> | 
| Offset 87, 15 lines modified | Offset 87, 15 lines modified | ||
| 87 |  <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> | 87 |  <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> | 
| 88 |  <:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>.<br/> | 88 |  <:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>.<br/> | 
| 89 | <br/> | 89 | <br/> | 
| 90 | </div> | 90 | </div> | 
| 91 | <div·class="doc"> | 91 | <div·class="doc"> | 
| 92 | <a·id="lab | 92 | <a·id="lab327"></a><h1·class="section">Definitions·of·operations,·now·in·a·separate·file</h1> | 
| 93 | </div> | 93 | </div> | 
| 94 | <div·class="code"> | 94 | <div·class="code"> | 
| 95 | <br/> | 95 | <br/> | 
| 96 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#Pos"><span·class="id"·title="module">BinPosDef.Pos</span></a>.<br/> | 96 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#Pos"><span·class="id"·title="module">BinPosDef.Pos</span></a>.<br/> | 
| Offset 109, 15 lines modified | Offset 109, 15 lines modified | ||
| 109 | <br/> | 109 | <br/> | 
| 110 | <br/> | 110 | <br/> | 
| 111 | </div> | 111 | </div> | 
| 112 | <div·class="doc"> | 112 | <div·class="doc"> | 
| 113 | <a·id="lab | 113 | <a·id="lab328"></a><h1·class="section">Logical·Predicates</h1> | 
| 114 | </div> | 114 | </div> | 
| 115 | <div·class="code"> | 115 | <div·class="code"> | 
| 116 | <br/> | 116 | <br/> | 
| 117 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.eq"·class="idref"·href="#Pos.eq"><span·class="id"·title="definition">eq</span></a>·:=·@<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>.<br/> | 117 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.eq"·class="idref"·href="#Pos.eq"><span·class="id"·title="definition">eq</span></a>·:=·@<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>.<br/> | 
| 118 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.eq_equiv"·class="idref"·href="#Pos.eq_equiv"><span·class="id"·title="definition">eq_equiv</span></a>·:=·@<a·class="idref"·href="Coq.Classes.RelationClasses.html#eq_equivalence"><span·class="id"·title="instance">eq_equivalence</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>.<br/> | 118 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.eq_equiv"·class="idref"·href="#Pos.eq_equiv"><span·class="id"·title="definition">eq_equiv</span></a>·:=·@<a·class="idref"·href="Coq.Classes.RelationClasses.html#eq_equivalence"><span·class="id"·title="instance">eq_equivalence</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>.<br/> | 
| Offset 141, 50 lines modified | Offset 141, 50 lines modified | ||
| 141 | <span·class="id"·title="keyword">Notation</span>·<a·id="Pos.::positive_scope:x_'<'_x_'<'_x"·class="idref"·href="#Pos.::positive_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation">"</span></a>x·<·y·<·z"·:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">positive_scope</span>.<br/> | 141 | <span·class="id"·title="keyword">Notation</span>·<a·id="Pos.::positive_scope:x_'<'_x_'<'_x"·class="idref"·href="#Pos.::positive_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation">"</span></a>x·<·y·<·z"·:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">positive_scope</span>.<br/> | 
| 142 | <span·class="id"·title="keyword">Notation</span>·<a·id="30eae3eb4d3ddeda607a70d5afc54c43"·class="idref"·href="#30eae3eb4d3ddeda607a70d5afc54c43"><span·class="id"·title="notation">"</span></a>x·<·y·<=·z"·:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#7f6b3352e24ef34244d88fe88c6d33f0"><span·class="id"·title="notation"><=</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">positive_scope</span>.<br/> | 142 | <span·class="id"·title="keyword">Notation</span>·<a·id="30eae3eb4d3ddeda607a70d5afc54c43"·class="idref"·href="#30eae3eb4d3ddeda607a70d5afc54c43"><span·class="id"·title="notation">"</span></a>x·<·y·<=·z"·:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#7f6b3352e24ef34244d88fe88c6d33f0"><span·class="id"·title="notation"><=</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">positive_scope</span>.<br/> | 
| 143 | <br/> | 143 | <br/> | 
| 144 | </div> | 144 | </div> | 
| 145 | <div·class="doc"> | 145 | <div·class="doc"> | 
| 146 | <a·id="lab | 146 | <a·id="lab329"></a><h1·class="section">Properties·of·operations·over·positive·numbers</h1> | 
| 147 | <div·class="paragraph">·</div> | 147 | <div·class="paragraph">·</div> | 
| 148 | <a·id="lab | 148 | <a·id="lab330"></a><h2·class="section">Decidability·of·equality·on·binary·positive·numbers</h2> | 
| 149 | </div> | 149 | </div> | 
| 150 | <div·class="code"> | 150 | <div·class="code"> | 
| 151 | <br/> | 151 | <br/> | 
| 152 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.eq_dec"·class="idref"·href="#Pos.eq_dec"><span·class="id"·title="lemma">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:9"·class="idref"·href="#x:9"><span·class="id"·title="binder">x</span></a>·<a·id="y:10"·class="idref"·href="#y:10"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#y:10"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#y:10"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 152 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.eq_dec"·class="idref"·href="#Pos.eq_dec"><span·class="id"·title="lemma">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:9"·class="idref"·href="#x:9"><span·class="id"·title="binder">x</span></a>·<a·id="y:10"·class="idref"·href="#y:10"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#y:10"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#y:10"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 153 | <br/> | 153 | <br/> | 
| 154 | </div> | 154 | </div> | 
| 155 | <div·class="doc"> | 155 | <div·class="doc"> | 
| 156 | <a·id="lab | 156 | <a·id="lab331"></a><h1·class="section">Properties·of·successor·on·binary·positive·numbers</h1> | 
| 157 | <div·class="paragraph">·</div> | 157 | <div·class="paragraph">·</div> | 
| 158 | <a·id="lab | 158 | <a·id="lab332"></a><h2·class="section">Specification·of·<span·class="inlinecode"><span·class="id"·title="var">xI</span></span>·in·term·of·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xO</span></span></h2> | 
| 159 | </div> | 159 | </div> | 
| 160 | <div·class="code"> | 160 | <div·class="code"> | 
| 161 | <br/> | 161 | <br/> | 
| 162 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.xI_succ_xO"·class="idref"·href="#Pos.xI_succ_xO"><span·class="id"·title="lemma">xI_succ_xO</span></a>·<a·id="p:11"·class="idref"·href="#p:11"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:11"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#119ad21c8e0c4947cd973f1f72e5feea"><span·class="id"·title="notation">~1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:11"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>.<br/> | 162 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.xI_succ_xO"·class="idref"·href="#Pos.xI_succ_xO"><span·class="id"·title="lemma">xI_succ_xO</span></a>·<a·id="p:11"·class="idref"·href="#p:11"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:11"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#119ad21c8e0c4947cd973f1f72e5feea"><span·class="id"·title="notation">~1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:11"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>.<br/> | 
| 163 | <br/> | 163 | <br/> | 
| 164 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_discr"·class="idref"·href="#Pos.succ_discr"><span·class="id"·title="lemma">succ_discr</span></a>·<a·id="p:12"·class="idref"·href="#p:12"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:12"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:12"><span·class="id"·title="variable">p</span></a>.<br/> | 164 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_discr"·class="idref"·href="#Pos.succ_discr"><span·class="id"·title="lemma">succ_discr</span></a>·<a·id="p:12"·class="idref"·href="#p:12"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:12"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:12"><span·class="id"·title="variable">p</span></a>.<br/> | 
| 165 | <br/> | 165 | <br/> | 
| 166 | </div> | 166 | </div> | 
| 167 | <div·class="doc"> | 167 | <div·class="doc"> | 
| 168 | <a·id="lab | 168 | <a·id="lab333"></a><h2·class="section">Successor·and·double</h2> | 
| 169 | </div> | 169 | </div> | 
| 170 | <div·class="code"> | 170 | <div·class="code"> | 
| 171 | <br/> | 171 | <br/> | 
| 172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.pred_double_spec"·class="idref"·href="#Pos.pred_double_spec"><span·class="id"·title="lemma">pred_double_spec</span></a>·<a·id="p:13"·class="idref"·href="#p:13"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:13"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred"><span·class="id"·title="definition">pred</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#p:13"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>).<br/> | 172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.pred_double_spec"·class="idref"·href="#Pos.pred_double_spec"><span·class="id"·title="lemma">pred_double_spec</span></a>·<a·id="p:13"·class="idref"·href="#p:13"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:13"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred"><span·class="id"·title="definition">pred</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#p:13"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>).<br/> | 
| Offset 200, 15 lines modified | Offset 200, 15 lines modified | ||
| 200 | <br/> | 200 | <br/> | 
| 201 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.pred_double_xO_discr"·class="idref"·href="#Pos.pred_double_xO_discr"><span·class="id"·title="lemma">pred_double_xO_discr</span></a>·<a·id="p:17"·class="idref"·href="#p:17"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:17"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>.<br/> | 201 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.pred_double_xO_discr"·class="idref"·href="#Pos.pred_double_xO_discr"><span·class="id"·title="lemma">pred_double_xO_discr</span></a>·<a·id="p:17"·class="idref"·href="#p:17"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:17"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>.<br/> | 
| 202 | <br/> | 202 | <br/> | 
| 203 | </div> | 203 | </div> | 
| 204 | <div·class="doc"> | 204 | <div·class="doc"> | 
| 205 | <a·id="lab | 205 | <a·id="lab334"></a><h2·class="section">Successor·and·predecessor</h2> | 
| 206 | </div> | 206 | </div> | 
| 207 | <div·class="code"> | 207 | <div·class="code"> | 
| 208 | <br/> | 208 | <br/> | 
| 209 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_not_1"·class="idref"·href="#Pos.succ_not_1"><span·class="id"·title="lemma">succ_not_1</span></a>·<a·id="p:18"·class="idref"·href="#p:18"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:18"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·1.<br/> | 209 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_not_1"·class="idref"·href="#Pos.succ_not_1"><span·class="id"·title="lemma">succ_not_1</span></a>·<a·id="p:18"·class="idref"·href="#p:18"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:18"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·1.<br/> | 
| Offset 221, 107 lines modified | Offset 221, 107 lines modified | ||
| 221 | <br/> | 221 | <br/> | 
| 222 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_pred"·class="idref"·href="#Pos.succ_pred"><span·class="id"·title="lemma">succ_pred</span></a>·<a·id="p:21"·class="idref"·href="#p:21"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:21"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·1·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred"><span·class="id"·title="definition">pred</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:21"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:21"><span·class="id"·title="variable">p</span></a>.<br/> | 222 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_pred"·class="idref"·href="#Pos.succ_pred"><span·class="id"·title="lemma">succ_pred</span></a>·<a·id="p:21"·class="idref"·href="#p:21"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:21"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·1·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred"><span·class="id"·title="definition">pred</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:21"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:21"><span·class="id"·title="variable">p</span></a>.<br/> | 
| 223 | <br/> | 223 | <br/> | 
| 224 | </div> | 224 | </div> | 
| 225 | <div·class="doc"> | 225 | <div·class="doc"> | 
| 226 | <a·id="lab | 226 | <a·id="lab335"></a><h2·class="section">Injectivity·of·successor</h2> | 
| 227 | </div> | 227 | </div> | 
| 228 | <div·class="code"> | 228 | <div·class="code"> | 
| Max diff block lines reached; 123797/137190 bytes (90.24%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab299"></a><h1·class="section">Binary·positive·numbers,·operations</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·Initial·development·by·Pierre·Crégut,·CNET,·Lannion,·France· | 51 | ·Initial·development·by·Pierre·Crégut,·CNET,·Lannion,·France· | 
| 52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> | 
| 53 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">xI</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xO</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xH</span></span> | 53 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">xI</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xO</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xH</span></span> | 
| Offset 94, 19 lines modified | Offset 94, 19 lines modified | ||
| 94 | <br/> | 94 | <br/> | 
| 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.t"·class="idref"·href="#Pos.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>.<br/> | 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.t"·class="idref"·href="#Pos.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>.<br/> | 
| 96 | <br/> | 96 | <br/> | 
| 97 | </div> | 97 | </div> | 
| 98 | <div·class="doc"> | 98 | <div·class="doc"> | 
| 99 | <a·id="lab | 99 | <a·id="lab300"></a><h1·class="section">Operations·over·positive·numbers</h1> | 
| 100 | <div·class="paragraph">·</div> | 100 | <div·class="paragraph">·</div> | 
| 101 | <a·id="lab | 101 | <a·id="lab301"></a><h2·class="section">Successor</h2> | 
| 102 | </div> | 102 | </div> | 
| 103 | <div·class="code"> | 103 | <div·class="code"> | 
| 104 | <br/> | 104 | <br/> | 
| 105 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.succ"·class="idref"·href="#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> | 105 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.succ"·class="idref"·href="#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> | 
| 106 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 106 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 115, 15 lines modified | Offset 115, 15 lines modified | ||
| 115 |     |·1·=>·1<a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a><br/> | 115 |     |·1·=>·1<a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a><br/> | 
| 116 |   <span·class="id"·title="keyword">end</span>.<br/> | 116 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 117 | <br/> | 117 | <br/> | 
| 118 | </div> | 118 | </div> | 
| 119 | <div·class="doc"> | 119 | <div·class="doc"> | 
| 120 | <a·id="lab | 120 | <a·id="lab302"></a><h2·class="section">Addition</h2> | 
| 121 | </div> | 121 | </div> | 
| 122 | <div·class="code"> | 122 | <div·class="code"> | 
| 123 | <br/> | 123 | <br/> | 
| 124 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.add"·class="idref"·href="#Pos.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:4"·class="idref"·href="#x:4"><span·class="id"·title="binder">x</span></a>·<a·id="y:5"·class="idref"·href="#y:5"><span·class="id"·title="binder">y</span></a>·:=<br/> | 124 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.add"·class="idref"·href="#Pos.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:4"·class="idref"·href="#x:4"><span·class="id"·title="binder">x</span></a>·<a·id="y:5"·class="idref"·href="#y:5"><span·class="id"·title="binder">y</span></a>·:=<br/> | 
| 125 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:4"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.PArith.BinPosDef.html#y:5"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 125 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:4"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.PArith.BinPosDef.html#y:5"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 154, 15 lines modified | Offset 154, 15 lines modified | ||
| 154 | <br/> | 154 | <br/> | 
| 155 | <span·class="id"·title="keyword">Infix</span>·<a·id="26e668c1e502054bd18e92982f52c00f"·class="idref"·href="#26e668c1e502054bd18e92982f52c00f"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.PArith.BinPosDef.html#Pos.add"><span·class="id"·title="definition">add</span></a>·:·<span·class="id"·title="var">positive_scope</span>.<br/> | 155 | <span·class="id"·title="keyword">Infix</span>·<a·id="26e668c1e502054bd18e92982f52c00f"·class="idref"·href="#26e668c1e502054bd18e92982f52c00f"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.PArith.BinPosDef.html#Pos.add"><span·class="id"·title="definition">add</span></a>·:·<span·class="id"·title="var">positive_scope</span>.<br/> | 
| 156 | <br/> | 156 | <br/> | 
| 157 | </div> | 157 | </div> | 
| 158 | <div·class="doc"> | 158 | <div·class="doc"> | 
| 159 | <a·id="lab | 159 | <a·id="lab303"></a><h2·class="section">Operation·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode">2*<span·class="id"·title="var">x</span>-1</span></h2> | 
| 160 | </div> | 160 | </div> | 
| 161 | <div·class="code"> | 161 | <div·class="code"> | 
| 162 | <br/> | 162 | <br/> | 
| 163 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.pred_double"·class="idref"·href="#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>·:=<br/> | 163 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.pred_double"·class="idref"·href="#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>·:=<br/> | 
| 164 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:14"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 164 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:14"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 171, 15 lines modified | Offset 171, 15 lines modified | ||
| 171 |     |·1·=>·1<br/> | 171 |     |·1·=>·1<br/> | 
| 172 |   <span·class="id"·title="keyword">end</span>.<br/> | 172 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 173 | <br/> | 173 | <br/> | 
| 174 | </div> | 174 | </div> | 
| 175 | <div·class="doc"> | 175 | <div·class="doc"> | 
| 176 | <a·id="lab | 176 | <a·id="lab304"></a><h2·class="section">Predecessor</h2> | 
| 177 | </div> | 177 | </div> | 
| 178 | <div·class="code"> | 178 | <div·class="code"> | 
| 179 | <br/> | 179 | <br/> | 
| 180 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.pred"·class="idref"·href="#Pos.pred"><span·class="id"·title="definition">pred</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·:=<br/> | 180 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.pred"·class="idref"·href="#Pos.pred"><span·class="id"·title="definition">pred</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·:=<br/> | 
| 181 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:17"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 181 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:17"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 188, 15 lines modified | Offset 188, 15 lines modified | ||
| 188 |     |·1·=>·1<br/> | 188 |     |·1·=>·1<br/> | 
| 189 |   <span·class="id"·title="keyword">end</span>.<br/> | 189 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 190 | <br/> | 190 | <br/> | 
| 191 | </div> | 191 | </div> | 
| 192 | <div·class="doc"> | 192 | <div·class="doc"> | 
| 193 | <a·id="lab | 193 | <a·id="lab305"></a><h2·class="section">The·predecessor·of·a·positive·number·can·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">N</span></span></h2> | 
| 194 | </div> | 194 | </div> | 
| 195 | <div·class="code"> | 195 | <div·class="code"> | 
| 196 | <br/> | 196 | <br/> | 
| 197 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.pred_N"·class="idref"·href="#Pos.pred_N"><span·class="id"·title="definition">pred_N</span></a>·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>·:=<br/> | 197 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.pred_N"·class="idref"·href="#Pos.pred_N"><span·class="id"·title="definition">pred_N</span></a>·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>·:=<br/> | 
| 198 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:19"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 198 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:19"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 205, 30 lines modified | Offset 205, 30 lines modified | ||
| 205 |     |·1·=>·<a·class="idref"·href="Coq.Numbers.BinNums.html#N0"><span·class="id"·title="constructor">N0</span></a><br/> | 205 |     |·1·=>·<a·class="idref"·href="Coq.Numbers.BinNums.html#N0"><span·class="id"·title="constructor">N0</span></a><br/> | 
| 206 |   <span·class="id"·title="keyword">end</span>.<br/> | 206 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 207 | <br/> | 207 | <br/> | 
| 208 | </div> | 208 | </div> | 
| 209 | <div·class="doc"> | 209 | <div·class="doc"> | 
| 210 | <a·id="lab | 210 | <a·id="lab306"></a><h2·class="section">An·auxiliary·type·for·subtraction</h2> | 
| 211 | </div> | 211 | </div> | 
| 212 | <div·class="code"> | 212 | <div·class="code"> | 
| 213 | <br/> | 213 | <br/> | 
| 214 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Pos.mask"·class="idref"·href="#Pos.mask"><span·class="id"·title="definition,·inductive"><span·id="Pos.mask_rect"·class="id"><span·id="Pos.mask_ind"·class="id"><span·id="Pos.mask_rec"·class="id"><span·id="Pos.mask_sind"·class="id">mask</span></span></span></span></span></a>·:·<span·class="id"·title="keyword">Set</span>·:=<br/> | 214 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Pos.mask"·class="idref"·href="#Pos.mask"><span·class="id"·title="definition,·inductive"><span·id="Pos.mask_rect"·class="id"><span·id="Pos.mask_ind"·class="id"><span·id="Pos.mask_rec"·class="id"><span·id="Pos.mask_sind"·class="id">mask</span></span></span></span></span></a>·:·<span·class="id"·title="keyword">Set</span>·:=<br/> | 
| 215 | |·<a·id="Pos.IsNul"·class="idref"·href="#Pos.IsNul"><span·class="id"·title="constructor">IsNul</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a><br/> | 215 | |·<a·id="Pos.IsNul"·class="idref"·href="#Pos.IsNul"><span·class="id"·title="constructor">IsNul</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a><br/> | 
| 216 | |·<a·id="Pos.IsPos"·class="idref"·href="#Pos.IsPos"><span·class="id"·title="constructor">IsPos</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a><br/> | 216 | |·<a·id="Pos.IsPos"·class="idref"·href="#Pos.IsPos"><span·class="id"·title="constructor">IsPos</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a><br/> | 
| 217 | |·<a·id="Pos.IsNeg"·class="idref"·href="#Pos.IsNeg"><span·class="id"·title="constructor">IsNeg</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a>.<br/> | 217 | |·<a·id="Pos.IsNeg"·class="idref"·href="#Pos.IsNeg"><span·class="id"·title="constructor">IsNeg</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a>.<br/> | 
| 218 | <br/> | 218 | <br/> | 
| 219 | </div> | 219 | </div> | 
| 220 | <div·class="doc"> | 220 | <div·class="doc"> | 
| 221 | <a·id="lab | 221 | <a·id="lab307"></a><h2·class="section">Operation·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode">2*<span·class="id"·title="var">x</span>+1</span></h2> | 
| 222 | </div> | 222 | </div> | 
| 223 | <div·class="code"> | 223 | <div·class="code"> | 
| Max diff block lines reached; 29959/38374 bytes (78.07%) of diff not shown. | |||
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <br/> | 51 | <br/> | 
| 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">positive_scope</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">positive_scope</span>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab296"></a><h1·class="section">DecidableType·structure·for·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·numbers</h1> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="code"> | 58 | <div·class="code"> | 
| 59 | <br/> | 59 | <br/> | 
| 60 | <span·class="id"·title="keyword">Module</span>·<a·id="Positive_as_DT"·class="idref"·href="#Positive_as_DT"><span·class="id"·title="module">Positive_as_DT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos"><span·class="id"·title="module">Pos</span></a>.<br/> | 60 | <span·class="id"·title="keyword">Module</span>·<a·id="Positive_as_DT"·class="idref"·href="#Positive_as_DT"><span·class="id"·title="module">Positive_as_DT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos"><span·class="id"·title="module">Pos</span></a>.<br/> | 
| Offset 67, 15 lines modified | Offset 67, 15 lines modified | ||
| 67 | </div> | 67 | </div> | 
| 68 | <div·class="doc"> | 68 | <div·class="doc"> | 
| 69 | Note·that·the·last·module·fulfills·by·subtyping·many·other | 69 | Note·that·the·last·module·fulfills·by·subtyping·many·other | 
| 70 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· | 70 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· | 
| 71 | <div·class="paragraph">·</div> | 71 | <div·class="paragraph">·</div> | 
| 72 | <a·id="lab | 72 | <a·id="lab297"></a><h1·class="section">OrderedType·structure·for·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·numbers</h1> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="code"> | 74 | <div·class="code"> | 
| 75 | <br/> | 75 | <br/> | 
| 76 | <span·class="id"·title="keyword">Module</span>·<a·id="Positive_as_OT"·class="idref"·href="#Positive_as_OT"><span·class="id"·title="module">Positive_as_OT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos"><span·class="id"·title="module">Pos</span></a>.<br/> | 76 | <span·class="id"·title="keyword">Module</span>·<a·id="Positive_as_OT"·class="idref"·href="#Positive_as_OT"><span·class="id"·title="module">Positive_as_OT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos"><span·class="id"·title="module">Pos</span></a>.<br/> | 
| Offset 83, 15 lines modified | Offset 83, 15 lines modified | ||
| 83 | </div> | 83 | </div> | 
| 84 | <div·class="doc"> | 84 | <div·class="doc"> | 
| 85 | Note·that·<span·class="inlinecode"><span·class="id"·title="var">Positive_as_OT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">UsualOrderedType</span></span> | 85 | Note·that·<span·class="inlinecode"><span·class="id"·title="var">Positive_as_OT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">UsualOrderedType</span></span> | 
| 86 | ···and·a·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·(and·also·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>).· | 86 | ···and·a·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·(and·also·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>).· | 
| 87 | <div·class="paragraph">·</div> | 87 | <div·class="paragraph">·</div> | 
| 88 | <a·id="lab | 88 | <a·id="lab298"></a><h1·class="section">An·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic·for·positive·numbers</h1> | 
| 89 | </div> | 89 | </div> | 
| 90 | <div·class="code"> | 90 | <div·class="code"> | 
| 91 | <br/> | 91 | <br/> | 
| 92 | <span·class="id"·title="keyword">Module</span>·<a·id="PositiveOrder"·class="idref"·href="#PositiveOrder"><span·class="id"·title="module">PositiveOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.PArith.POrderedType.html#Positive_as_OT"><span·class="id"·title="module">Positive_as_OT</span></a>.<br/> | 92 | <span·class="id"·title="keyword">Module</span>·<a·id="PositiveOrder"·class="idref"·href="#PositiveOrder"><span·class="id"·title="module">PositiveOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.PArith.POrderedType.html#Positive_as_OT"><span·class="id"·title="module">Positive_as_OT</span></a>.<br/> | 
| 93 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">p_order</span>·:=·<span·class="id"·title="var">PositiveOrder.order</span>.<br/> | 93 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">p_order</span>·:=·<span·class="id"·title="var">PositiveOrder.order</span>.<br/> | 
| Offset 43, 15 lines modified | Offset 43, 15 lines modified | ||
| 43 | <h1·class="libtitle">Library·Coq.Program.Combinators</h1> | 43 | <h1·class="libtitle">Library·Coq.Program.Combinators</h1> | 
| 44 | <div·class="code"> | 44 | <div·class="code"> | 
| 45 | </div> | 45 | </div> | 
| 46 | <div·class="doc"> | 46 | <div·class="doc"> | 
| 47 | <a·id="lab | 47 | <a·id="lab750"></a><h1·class="section">Proofs·about·standard·combinators,·exports·functional·extensionality.</h1> | 
| 48 | <div·class="paragraph">·</div> | 48 | <div·class="paragraph">·</div> | 
| 49 | ···Author:·Matthieu·Sozeau | 49 | ···Author:·Matthieu·Sozeau | 
| 50 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 50 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.ZArith.BinInt.html#"><span·class="id"·title="library">ZArith.BinInt</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.ZArith.BinInt.html#"><span·class="id"·title="library">ZArith.BinInt</span></a>.<br/> | 
| 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab998"></a><h1·class="section">Definition·of·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span>·and·basic·properties</h1> | 
| 57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> | 
| 58 | ·Rationals·are·pairs·of·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·numbers.· | 58 | ·Rationals·are·pairs·of·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·numbers.· | 
| 59 | </div> | 59 | </div> | 
| 60 | <div·class="code"> | 60 | <div·class="code"> | 
| Offset 194, 15 lines modified | Offset 194, 15 lines modified | ||
| 194 | <br/> | 194 | <br/> | 
| 195 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qcompare_spec"·class="idref"·href="#Qcompare_spec"><span·class="id"·title="lemma">Qcompare_spec</span></a>·<a·id="x:33"·class="idref"·href="#x:33"><span·class="id"·title="binder">x</span></a>·<a·id="y:34"·class="idref"·href="#y:34"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#CompareSpec"><span·class="id"·title="inductive">CompareSpec</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#1d4d04159713e8a1510c1de740564e3d"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a>).<br/> | 195 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qcompare_spec"·class="idref"·href="#Qcompare_spec"><span·class="id"·title="lemma">Qcompare_spec</span></a>·<a·id="x:33"·class="idref"·href="#x:33"><span·class="id"·title="binder">x</span></a>·<a·id="y:34"·class="idref"·href="#y:34"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#CompareSpec"><span·class="id"·title="inductive">CompareSpec</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#1d4d04159713e8a1510c1de740564e3d"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a>).<br/> | 
| 196 | <br/> | 196 | <br/> | 
| 197 | </div> | 197 | </div> | 
| 198 | <div·class="doc"> | 198 | <div·class="doc"> | 
| 199 | <a·id="lab | 199 | <a·id="lab999"></a><h1·class="section">Properties·of·equality.</h1> | 
| 200 | </div> | 200 | </div> | 
| 201 | <div·class="code"> | 201 | <div·class="code"> | 
| 202 | <br/> | 202 | <br/> | 
| 203 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qeq_refl"·class="idref"·href="#Qeq_refl"><span·class="id"·title="lemma">Qeq_refl</span></a>·<a·id="x:35"·class="idref"·href="#x:35"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:35"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:35"><span·class="id"·title="variable">x</span></a>.<br/> | 203 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qeq_refl"·class="idref"·href="#Qeq_refl"><span·class="id"·title="lemma">Qeq_refl</span></a>·<a·id="x:35"·class="idref"·href="#x:35"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:35"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:35"><span·class="id"·title="variable">x</span></a>.<br/> | 
| Offset 286, 15 lines modified | Offset 286, 15 lines modified | ||
| 286 | #[<span·class="id"·title="var">global</span>]<br/> | 286 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 287 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Qnot_eq_sym</span>·:·<span·class="id"·title="var">qarith</span>.<br/> | 287 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Qnot_eq_sym</span>·:·<span·class="id"·title="var">qarith</span>.<br/> | 
| 288 | <br/> | 288 | <br/> | 
| 289 | </div> | 289 | </div> | 
| 290 | <div·class="doc"> | 290 | <div·class="doc"> | 
| 291 | <a·id="lab | 291 | <a·id="lab1000"></a><h1·class="section">Addition,·multiplication·and·opposite</h1> | 
| 292 | <div·class="paragraph">·</div> | 292 | <div·class="paragraph">·</div> | 
| 293 | ·The·addition,·multiplication·and·opposite·are·defined | 293 | ·The·addition,·multiplication·and·opposite·are·defined | 
| 294 | ···in·the·straightforward·way:· | 294 | ···in·the·straightforward·way:· | 
| 295 | </div> | 295 | </div> | 
| 296 | <div·class="code"> | 296 | <div·class="code"> | 
| Offset 553, 15 lines modified | Offset 553, 15 lines modified | ||
| 553 | <br/> | 553 | <br/> | 
| 554 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qmake_Qdiv"·class="idref"·href="#Qmake_Qdiv"><span·class="id"·title="lemma">Qmake_Qdiv</span></a>·<a·id="a:139"·class="idref"·href="#a:139"><span·class="id"·title="binder">a</span></a>·<a·id="b:140"·class="idref"·href="#b:140"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#a:139"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#b:140"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a:139"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#b:140"><span·class="id"·title="variable">b</span></a>).<br/> | 554 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qmake_Qdiv"·class="idref"·href="#Qmake_Qdiv"><span·class="id"·title="lemma">Qmake_Qdiv</span></a>·<a·id="a:139"·class="idref"·href="#a:139"><span·class="id"·title="binder">a</span></a>·<a·id="b:140"·class="idref"·href="#b:140"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#a:139"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#b:140"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a:139"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#b:140"><span·class="id"·title="variable">b</span></a>).<br/> | 
| 555 | <br/> | 555 | <br/> | 
| 556 | </div> | 556 | </div> | 
| 557 | <div·class="doc"> | 557 | <div·class="doc"> | 
| 558 | <a·id="lab | 558 | <a·id="lab1001"></a><h1·class="section">Setoid·compatibility·results</h1> | 
| 559 | </div> | 559 | </div> | 
| 560 | <div·class="code"> | 560 | <div·class="code"> | 
| 561 | <br/> | 561 | <br/> | 
| 562 | #[<span·class="id"·title="var">global</span>]<br/> | 562 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 563 | <span·class="id"·title="keyword">Instance</span>·<a·id="Qplus_comp"·class="idref"·href="#Qplus_comp"><span·class="id"·title="instance">Qplus_comp</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qplus"><span·class="id"·title="definition">Qplus</span></a>.<br/> | 563 | <span·class="id"·title="keyword">Instance</span>·<a·id="Qplus_comp"·class="idref"·href="#Qplus_comp"><span·class="id"·title="instance">Qplus_comp</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qplus"><span·class="id"·title="definition">Qplus</span></a>.<br/> | 
| Offset 627, 15 lines modified | Offset 627, 15 lines modified | ||
| 627 | <br/> | 627 | <br/> | 
| 628 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Q_apart_0_1"·class="idref"·href="#Q_apart_0_1"><span·class="id"·title="lemma">Q_apart_0_1</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·1·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 628 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Q_apart_0_1"·class="idref"·href="#Q_apart_0_1"><span·class="id"·title="lemma">Q_apart_0_1</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·1·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| 629 | <br/> | 629 | <br/> | 
| 630 | </div> | 630 | </div> | 
| 631 | <div·class="doc"> | 631 | <div·class="doc"> | 
| 632 | <a·id="lab | 632 | <a·id="lab1002"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">Qadd</span></span></h1> | 
| 633 | <div·class="paragraph">·</div> | 633 | <div·class="paragraph">·</div> | 
| 634 | ·Addition·is·associative:· | 634 | ·Addition·is·associative:· | 
| 635 | </div> | 635 | </div> | 
| 636 | <div·class="code"> | 636 | <div·class="code"> | 
| Offset 667, 15 lines modified | Offset 667, 15 lines modified | ||
| 667 | <br/> | 667 | <br/> | 
| 668 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qplus_comm"·class="idref"·href="#Qplus_comm"><span·class="id"·title="lemma">Qplus_comm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:146"·class="idref"·href="#x:146"><span·class="id"·title="binder">x</span></a>·<a·id="y:147"·class="idref"·href="#y:147"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:146"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:147"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:147"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#x:146"><span·class="id"·title="variable">x</span></a>.<br/> | 668 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qplus_comm"·class="idref"·href="#Qplus_comm"><span·class="id"·title="lemma">Qplus_comm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:146"·class="idref"·href="#x:146"><span·class="id"·title="binder">x</span></a>·<a·id="y:147"·class="idref"·href="#y:147"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:146"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:147"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:147"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#x:146"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 669 | <br/> | 669 | <br/> | 
| 670 | </div> | 670 | </div> | 
| 671 | <div·class="doc"> | 671 | <div·class="doc"> | 
| 672 | <a·id="lab | 672 | <a·id="lab1003"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">Qopp</span></span></h1> | 
| 673 | </div> | 673 | </div> | 
| 674 | <div·class="code"> | 674 | <div·class="code"> | 
| 675 | <br/> | 675 | <br/> | 
| 676 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qopp_involutive"·class="idref"·href="#Qopp_involutive"><span·class="id"·title="lemma">Qopp_involutive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="q:148"·class="idref"·href="#q:148"><span·class="id"·title="binder">q</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#q:148"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#q:148"><span·class="id"·title="variable">q</span></a>.<br/> | 676 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qopp_involutive"·class="idref"·href="#Qopp_involutive"><span·class="id"·title="lemma">Qopp_involutive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="q:148"·class="idref"·href="#q:148"><span·class="id"·title="binder">q</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#q:148"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#q:148"><span·class="id"·title="variable">q</span></a>.<br/> | 
| Offset 698, 15 lines modified | Offset 698, 15 lines modified | ||
| 698 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qplus_inj_l"·class="idref"·href="#Qplus_inj_l"><span·class="id"·title="lemma">Qplus_inj_l</span></a>·(<a·id="x:153"·class="idref"·href="#x:153"><span·class="id"·title="binder">x</span></a>·<a·id="y:154"·class="idref"·href="#y:154"><span·class="id"·title="binder">y</span></a>·<a·id="z:155"·class="idref"·href="#z:155"><span·class="id"·title="binder">z</span></a>:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>):<br/> | 698 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qplus_inj_l"·class="idref"·href="#Qplus_inj_l"><span·class="id"·title="lemma">Qplus_inj_l</span></a>·(<a·id="x:153"·class="idref"·href="#x:153"><span·class="id"·title="binder">x</span></a>·<a·id="y:154"·class="idref"·href="#y:154"><span·class="id"·title="binder">y</span></a>·<a·id="z:155"·class="idref"·href="#z:155"><span·class="id"·title="binder">z</span></a>:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>):<br/> | 
| 699 |   <a·class="idref"·href="Coq.QArith.QArith_base.html#z:155"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:153"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#z:155"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:154"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:153"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:154"><span·class="id"·title="variable">y</span></a>.<br/> | 699 |   <a·class="idref"·href="Coq.QArith.QArith_base.html#z:155"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:153"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#z:155"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:154"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:153"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:154"><span·class="id"·title="variable">y</span></a>.<br/> | 
| 700 | <br/> | 700 | <br/> | 
| 701 | </div> | 701 | </div> | 
| 702 | <div·class="doc"> | 702 | <div·class="doc"> | 
| 703 | <a·id="lab | 703 | <a·id="lab1004"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">Qmult</span></span></h1> | 
| 704 | <div·class="paragraph">·</div> | 704 | <div·class="paragraph">·</div> | 
| 705 | ·Multiplication·is·associative:· | 705 | ·Multiplication·is·associative:· | 
| 706 | </div> | 706 | </div> | 
| 707 | <div·class="code"> | 707 | <div·class="code"> | 
| Offset 780, 15 lines modified | Offset 780, 15 lines modified | ||
| 780 | <br/> | 780 | <br/> | 
| 781 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qmult_integral_l"·class="idref"·href="#Qmult_integral_l"><span·class="id"·title="lemma">Qmult_integral_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:173"·class="idref"·href="#x:173"><span·class="id"·title="binder">x</span></a>·<a·id="y:174"·class="idref"·href="#y:174"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:173"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:173"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:174"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:174"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 781 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qmult_integral_l"·class="idref"·href="#Qmult_integral_l"><span·class="id"·title="lemma">Qmult_integral_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:173"·class="idref"·href="#x:173"><span·class="id"·title="binder">x</span></a>·<a·id="y:174"·class="idref"·href="#y:174"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:173"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:173"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:174"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:174"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| 782 | <br/> | 782 | <br/> | 
| 783 | </div> | 783 | </div> | 
| 784 | <div·class="doc"> | 784 | <div·class="doc"> | 
| 785 | <a·id="lab | 785 | <a·id="lab1005"></a><h1·class="section">inject_Z·is·a·ring·homomorphism:</h1> | 
| 786 | </div> | 786 | </div> | 
| 787 | <div·class="code"> | 787 | <div·class="code"> | 
| 788 | <br/> | 788 | <br/> | 
| 789 | <span·class="id"·title="keyword">Lemma</span>·<a·id="inject_Z_plus"·class="idref"·href="#inject_Z_plus"><span·class="id"·title="lemma">inject_Z_plus</span></a>·(<a·id="x:175"·class="idref"·href="#x:175"><span·class="id"·title="binder">x</span></a>·<a·id="y:176"·class="idref"·href="#y:176"><span·class="id"·title="binder">y</span></a>:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>):·<a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:175"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:176"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:175"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:176"><span·class="id"·title="variable">y</span></a>.<br/> | 789 | <span·class="id"·title="keyword">Lemma</span>·<a·id="inject_Z_plus"·class="idref"·href="#inject_Z_plus"><span·class="id"·title="lemma">inject_Z_plus</span></a>·(<a·id="x:175"·class="idref"·href="#x:175"><span·class="id"·title="binder">x</span></a>·<a·id="y:176"·class="idref"·href="#y:176"><span·class="id"·title="binder">y</span></a>:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>):·<a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:175"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:176"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:175"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:176"><span·class="id"·title="variable">y</span></a>.<br/> | 
| Max diff block lines reached; 32475/48888 bytes (66.43%) of diff not shown. | |||
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <br/> | 51 | <br/> | 
| 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Q_scope</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Q_scope</span>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab995"></a><h1·class="section">DecidableType·structure·for·rational·numbers</h1> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="code"> | 58 | <div·class="code"> | 
| 59 | <br/> | 59 | <br/> | 
| 60 | <span·class="id"·title="keyword">Module</span>·<a·id="Q_as_DT"·class="idref"·href="#Q_as_DT"><span·class="id"·title="module">Q_as_DT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeFull"><span·class="id"·title="module">DecidableTypeFull</span></a>.<br/> | 60 | <span·class="id"·title="keyword">Module</span>·<a·id="Q_as_DT"·class="idref"·href="#Q_as_DT"><span·class="id"·title="module">Q_as_DT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeFull"><span·class="id"·title="module">DecidableTypeFull</span></a>.<br/> | 
| 61 |  <span·class="id"·title="keyword">Definition</span>·<a·id="Q_as_DT.t"·class="idref"·href="#Q_as_DT.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>.<br/> | 61 |  <span·class="id"·title="keyword">Definition</span>·<a·id="Q_as_DT.t"·class="idref"·href="#Q_as_DT.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>.<br/> | 
| Offset 89, 15 lines modified | Offset 89, 15 lines modified | ||
| 89 | </div> | 89 | </div> | 
| 90 | <div·class="doc"> | 90 | <div·class="doc"> | 
| 91 | Note·that·the·last·module·fulfills·by·subtyping·many·other | 91 | Note·that·the·last·module·fulfills·by·subtyping·many·other | 
| 92 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· | 92 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· | 
| 93 | <div·class="paragraph">·</div> | 93 | <div·class="paragraph">·</div> | 
| 94 | <a·id="lab | 94 | <a·id="lab996"></a><h1·class="section">OrderedType·structure·for·rational·numbers</h1> | 
| 95 | </div> | 95 | </div> | 
| 96 | <div·class="code"> | 96 | <div·class="code"> | 
| 97 | <br/> | 97 | <br/> | 
| 98 | <span·class="id"·title="keyword">Module</span>·<a·id="Q_as_OT"·class="idref"·href="#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Module</span>·<a·id="Q_as_OT"·class="idref"·href="#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>.<br/> | 
| 99 |  <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_DT"><span·class="id"·title="module">Q_as_DT</span></a>.<br/> | 99 |  <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_DT"><span·class="id"·title="module">Q_as_DT</span></a>.<br/> | 
| Offset 120, 15 lines modified | Offset 120, 15 lines modified | ||
| 120 | <br/> | 120 | <br/> | 
| 121 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>.<br/> | 121 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>.<br/> | 
| 122 | <br/> | 122 | <br/> | 
| 123 | </div> | 123 | </div> | 
| 124 | <div·class="doc"> | 124 | <div·class="doc"> | 
| 125 | <a·id="lab | 125 | <a·id="lab997"></a><h1·class="section">An·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic·for·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span>·numbers</h1> | 
| 126 | </div> | 126 | </div> | 
| 127 | <div·class="code"> | 127 | <div·class="code"> | 
| 128 | <br/> | 128 | <br/> | 
| 129 | <span·class="id"·title="keyword">Module</span>·<a·id="QOrder"·class="idref"·href="#QOrder"><span·class="id"·title="module">QOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>.<br/> | 129 | <span·class="id"·title="keyword">Module</span>·<a·id="QOrder"·class="idref"·href="#QOrder"><span·class="id"·title="module">QOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>.<br/> | 
| 130 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">q_order</span>·:=·<span·class="id"·title="var">QOrder.order</span>.<br/> | 130 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">q_order</span>·:=·<span·class="id"·title="var">QOrder.order</span>.<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab991"></a><h1·class="section">An·absolute·value·for·normalized·rational·numbers.</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·Contributed·by·Cédric·Auger· | 51 | ·Contributed·by·Cédric·Auger· | 
| 52 | </div> | 52 | </div> | 
| 53 | <div·class="code"> | 53 | <div·class="code"> | 
| Offset 50, 15 lines modified | Offset 50, 15 lines modified | ||
| 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#"><span·class="id"·title="library">QArith_base</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#"><span·class="id"·title="library">QArith_base</span></a>.<br/> | 
| 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.setoid_ring.NArithRing.html#"><span·class="id"·title="library">NArithRing</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.setoid_ring.NArithRing.html#"><span·class="id"·title="library">NArithRing</span></a>.<br/> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="doc"> | 54 | <div·class="doc"> | 
| 55 | <a·id="lab | 55 | <a·id="lab994"></a><h1·class="section">field·and·ring·tactics·for·rational·numbers</h1> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="code"> | 57 | <div·class="code"> | 
| 58 | <br/> | 58 | <br/> | 
| 59 | <span·class="id"·title="keyword">Definition</span>·<a·id="Qsrt"·class="idref"·href="#Qsrt"><span·class="id"·title="definition">Qsrt</span></a>·:·<a·class="idref"·href="Coq.setoid_ring.Ring_theory.html#ring_theory"><span·class="id"·title="record">ring_theory</span></a>·0·1·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qplus"><span·class="id"·title="definition">Qplus</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qmult"><span·class="id"·title="definition">Qmult</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qminus"><span·class="id"·title="definition">Qminus</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qopp"><span·class="id"·title="definition">Qopp</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Definition</span>·<a·id="Qsrt"·class="idref"·href="#Qsrt"><span·class="id"·title="definition">Qsrt</span></a>·:·<a·class="idref"·href="Coq.setoid_ring.Ring_theory.html#ring_theory"><span·class="id"·title="record">ring_theory</span></a>·0·1·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qplus"><span·class="id"·title="definition">Qplus</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qmult"><span·class="id"·title="definition">Qmult</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qminus"><span·class="id"·title="definition">Qminus</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qopp"><span·class="id"·title="definition">Qopp</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a>.<br/> | 
| Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#"><span·class="id"·title="library">QArith_base</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#"><span·class="id"·title="library">QOrderedType</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#"><span·class="id"·title="library">QArith_base</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#"><span·class="id"·title="library">QOrderedType</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab992"></a><h1·class="section">Maximum·and·Minimum·of·two·rational·numbers</h1> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="code"> | 55 | <div·class="code"> | 
| 56 | <br/> | 56 | <br/> | 
| 57 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Q_scope</span>.<br/> | 57 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Q_scope</span>.<br/> | 
| Offset 97, 15 lines modified | Offset 97, 15 lines modified | ||
| 97 | <br/> | 97 | <br/> | 
| 98 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties"><span·class="id"·title="module">MinMaxProperties</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>·<a·class="idref"·href="Coq.QArith.Qminmax.html#QHasMinMax"><span·class="id"·title="module">QHasMinMax</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties"><span·class="id"·title="module">MinMaxProperties</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>·<a·class="idref"·href="Coq.QArith.Qminmax.html#QHasMinMax"><span·class="id"·title="module">QHasMinMax</span></a>.<br/> | 
| 99 | <br/> | 99 | <br/> | 
| 100 | </div> | 100 | </div> | 
| 101 | <div·class="doc"> | 101 | <div·class="doc"> | 
| 102 | <a·id="lab | 102 | <a·id="lab993"></a><h1·class="section">Properties·specific·to·the·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span>·domain</h1> | 
| 103 | <div·class="paragraph">·</div> | 103 | <div·class="paragraph">·</div> | 
| 104 | ·Compatibilities·(consequences·of·monotonicity)· | 104 | ·Compatibilities·(consequences·of·monotonicity)· | 
| 105 | </div> | 105 | </div> | 
| 106 | <div·class="code"> | 106 | <div·class="code"> | 
| Offset 48, 64 lines modified | Offset 48, 64 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#"><span·class="id"·title="library">Zpow_facts</span></a>·<a·class="idref"·href="Coq.QArith.Qfield.html#"><span·class="id"·title="library">Qfield</span></a>·<a·class="idref"·href="Coq.QArith.Qreduction.html#"><span·class="id"·title="library">Qreduction</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#"><span·class="id"·title="library">Zpow_facts</span></a>·<a·class="idref"·href="Coq.QArith.Qfield.html#"><span·class="id"·title="library">Qfield</span></a>·<a·class="idref"·href="Coq.QArith.Qreduction.html#"><span·class="id"·title="library">Qreduction</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab | 53 | <a·id="lab1016"></a><h1·class="section">Properties·of·Qpower_positive</h1> | 
| 54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> | 
| 55 | <a·id="lab | 55 | <a·id="lab1017"></a><h2·class="section">Values·of·Qpower_positive·for·specific·arguments</h2> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="code"> | 57 | <div·class="code"> | 
| 58 | <br/> | 58 | <br/> | 
| 59 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_positive_1"·class="idref"·href="#Qpower_positive_1"><span·class="id"·title="lemma">Qpower_positive_1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·1·<a·class="idref"·href="Coq.QArith.Qpower.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·1.<br/> | 59 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_positive_1"·class="idref"·href="#Qpower_positive_1"><span·class="id"·title="lemma">Qpower_positive_1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·1·<a·class="idref"·href="Coq.QArith.Qpower.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·1.<br/> | 
| 60 | <br/> | 60 | <br/> | 
| 61 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_positive_0"·class="idref"·href="#Qpower_positive_0"><span·class="id"·title="lemma">Qpower_positive_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·0·<a·class="idref"·href="Coq.QArith.Qpower.html#n:2"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 61 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_positive_0"·class="idref"·href="#Qpower_positive_0"><span·class="id"·title="lemma">Qpower_positive_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·0·<a·class="idref"·href="Coq.QArith.Qpower.html#n:2"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| 62 | <br/> | 62 | <br/> | 
| 63 | </div> | 63 | </div> | 
| 64 | <div·class="doc"> | 64 | <div·class="doc"> | 
| 65 | <a·id="lab | 65 | <a·id="lab1018"></a><h2·class="section">Relation·of·Qpower_positive·to·zero</h2> | 
| 66 | </div> | 66 | </div> | 
| 67 | <div·class="code"> | 67 | <div·class="code"> | 
| 68 | <br/> | 68 | <br/> | 
| 69 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_not_0_positive"·class="idref"·href="#Qpower_not_0_positive"><span·class="id"·title="lemma">Qpower_not_0_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:3"·class="idref"·href="#a:3"><span·class="id"·title="binder">a</span></a>·<a·id="n:4"·class="idref"·href="#n:4"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#a:3"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:3"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:4"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 69 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_not_0_positive"·class="idref"·href="#Qpower_not_0_positive"><span·class="id"·title="lemma">Qpower_not_0_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:3"·class="idref"·href="#a:3"><span·class="id"·title="binder">a</span></a>·<a·id="n:4"·class="idref"·href="#n:4"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#a:3"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:3"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:4"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| 70 | <br/> | 70 | <br/> | 
| 71 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_pos_positive"·class="idref"·href="#Qpower_pos_positive"><span·class="id"·title="lemma">Qpower_pos_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="p:5"·class="idref"·href="#p:5"><span·class="id"·title="binder">p</span></a>·<a·id="n:6"·class="idref"·href="#n:6"><span·class="id"·title="binder">n</span></a>,·0·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:5"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:5"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:6"><span·class="id"·title="variable">n</span></a>.<br/> | 71 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_pos_positive"·class="idref"·href="#Qpower_pos_positive"><span·class="id"·title="lemma">Qpower_pos_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="p:5"·class="idref"·href="#p:5"><span·class="id"·title="binder">p</span></a>·<a·id="n:6"·class="idref"·href="#n:6"><span·class="id"·title="binder">n</span></a>,·0·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:5"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:5"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:6"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 72 | <br/> | 72 | <br/> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="doc"> | 74 | <div·class="doc"> | 
| 75 | <a·id="lab | 75 | <a·id="lab1019"></a><h2·class="section">Qpower_positive·and·multiplication,·exponent·subtraction</h2> | 
| 76 | </div> | 76 | </div> | 
| 77 | <div·class="code"> | 77 | <div·class="code"> | 
| 78 | <br/> | 78 | <br/> | 
| 79 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qmult_power_positive"·class="idref"·href="#Qmult_power_positive"><span·class="id"·title="lemma">Qmult_power_positive</span></a>··:·<span·class="id"·title="keyword">forall</span>·<a·id="a:7"·class="idref"·href="#a:7"><span·class="id"·title="binder">a</span></a>·<a·id="b:8"·class="idref"·href="#b:8"><span·class="id"·title="binder">b</span></a>·<a·id="n:9"·class="idref"·href="#n:9"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#a:7"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#b:8"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:7"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)*(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#b:8"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)</span></a>.<br/> | 79 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qmult_power_positive"·class="idref"·href="#Qmult_power_positive"><span·class="id"·title="lemma">Qmult_power_positive</span></a>··:·<span·class="id"·title="keyword">forall</span>·<a·id="a:7"·class="idref"·href="#a:7"><span·class="id"·title="binder">a</span></a>·<a·id="b:8"·class="idref"·href="#b:8"><span·class="id"·title="binder">b</span></a>·<a·id="n:9"·class="idref"·href="#n:9"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#a:7"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#b:8"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:7"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)*(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#b:8"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 80 | <br/> | 80 | <br/> | 
| 81 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_plus_positive"·class="idref"·href="#Qpower_plus_positive"><span·class="id"·title="lemma">Qpower_plus_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:10"·class="idref"·href="#a:10"><span·class="id"·title="binder">a</span></a>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>·<a·id="m:12"·class="idref"·href="#m:12"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:11"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#50efadf7a9f9d41adb2b162cbba3bda7"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:12"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:11"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)*(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#m:12"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)</span></a>.<br/> | 81 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_plus_positive"·class="idref"·href="#Qpower_plus_positive"><span·class="id"·title="lemma">Qpower_plus_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:10"·class="idref"·href="#a:10"><span·class="id"·title="binder">a</span></a>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>·<a·id="m:12"·class="idref"·href="#m:12"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:11"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#50efadf7a9f9d41adb2b162cbba3bda7"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:12"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:11"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)*(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#m:12"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 82 | <br/> | 82 | <br/> | 
| 83 | </div> | 83 | </div> | 
| 84 | <div·class="doc"> | 84 | <div·class="doc"> | 
| 85 | <a·id="lab | 85 | <a·id="lab1020"></a><h2·class="section">Qpower_positive·and·inversion,·division,·exponent·subtraction</h2> | 
| 86 | </div> | 86 | </div> | 
| 87 | <div·class="code"> | 87 | <div·class="code"> | 
| 88 | <br/> | 88 | <br/> | 
| 89 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qinv_power_positive"·class="idref"·href="#Qinv_power_positive"><span·class="id"·title="lemma">Qinv_power_positive</span></a>··:·<span·class="id"·title="keyword">forall</span>·<a·id="a:13"·class="idref"·href="#a:13"><span·class="id"·title="binder">a</span></a>·<a·id="n:14"·class="idref"·href="#n:14"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#a:13"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#n:14"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">/(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:13"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:14"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">)</span></a>.<br/> | 89 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qinv_power_positive"·class="idref"·href="#Qinv_power_positive"><span·class="id"·title="lemma">Qinv_power_positive</span></a>··:·<span·class="id"·title="keyword">forall</span>·<a·id="a:13"·class="idref"·href="#a:13"><span·class="id"·title="binder">a</span></a>·<a·id="n:14"·class="idref"·href="#n:14"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#a:13"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#n:14"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">/(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:13"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:14"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">)</span></a>.<br/> | 
| Offset 114, 28 lines modified | Offset 114, 28 lines modified | ||
| 114 |   (<a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">positive</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 114 |   (<a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">positive</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 115 |   <a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:15"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#::positive_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a>)%<span·class="id"·title="var">positive</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:15"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">)/(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:15"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">)</span></a>.<br/> | 115 |   <a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:15"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#::positive_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a>)%<span·class="id"·title="var">positive</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:15"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">)/(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:15"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 116 | <br/> | 116 | <br/> | 
| 117 | </div> | 117 | </div> | 
| 118 | <div·class="doc"> | 118 | <div·class="doc"> | 
| 119 | <a·id="lab | 119 | <a·id="lab1021"></a><h2·class="section">Qpower·and·exponent·multiplication</h2> | 
| 120 | </div> | 120 | </div> | 
| 121 | <div·class="code"> | 121 | <div·class="code"> | 
| 122 | <br/> | 122 | <br/> | 
| 123 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_mult_positive"·class="idref"·href="#Qpower_mult_positive"><span·class="id"·title="lemma">Qpower_mult_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:18"·class="idref"·href="#a:18"><span·class="id"·title="binder">a</span></a>·<a·id="n:19"·class="idref"·href="#n:19"><span·class="id"·title="binder">n</span></a>·<a·id="m:20"·class="idref"·href="#m:20"><span·class="id"·title="binder">m</span></a>,<br/> | 123 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_mult_positive"·class="idref"·href="#Qpower_mult_positive"><span·class="id"·title="lemma">Qpower_mult_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:18"·class="idref"·href="#a:18"><span·class="id"·title="binder">a</span></a>·<a·id="n:19"·class="idref"·href="#n:19"><span·class="id"·title="binder">n</span></a>·<a·id="m:20"·class="idref"·href="#m:20"><span·class="id"·title="binder">m</span></a>,<br/> | 
| 124 |   <a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:18"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:19"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#83db3fa9f059c10cb623a122cf097cd0"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:20"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:18"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:19"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#m:20"><span·class="id"·title="variable">m</span></a>.<br/> | 124 |   <a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:18"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:19"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#83db3fa9f059c10cb623a122cf097cd0"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:20"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:18"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:19"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#m:20"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 125 | <br/> | 125 | <br/> | 
| 126 | </div> | 126 | </div> | 
| 127 | <div·class="doc"> | 127 | <div·class="doc"> | 
| 128 | <a·id="lab | 128 | <a·id="lab1022"></a><h2·class="section">Qpower_positive·decomposition</h2> | 
| 129 | </div> | 129 | </div> | 
| 130 | <div·class="code"> | 130 | <div·class="code"> | 
| 131 | <br/> | 131 | <br/> | 
| 132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_decomp_positive"·class="idref"·href="#Qpower_decomp_positive"><span·class="id"·title="lemma">Qpower_decomp_positive</span></a>·<a·id="p:21"·class="idref"·href="#p:21"><span·class="id"·title="binder">p</span></a>·<a·id="x:22"·class="idref"·href="#x:22"><span·class="id"·title="binder">x</span></a>·<a·id="y:23"·class="idref"·href="#y:23"><span·class="id"·title="binder">y</span></a>·:<br/> | 132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_decomp_positive"·class="idref"·href="#Qpower_decomp_positive"><span·class="id"·title="lemma">Qpower_decomp_positive</span></a>·<a·id="p:21"·class="idref"·href="#p:21"><span·class="id"·title="binder">p</span></a>·<a·id="x:22"·class="idref"·href="#x:22"><span·class="id"·title="binder">x</span></a>·<a·id="y:23"·class="idref"·href="#y:23"><span·class="id"·title="binder">y</span></a>·:<br/> | 
| 133 |   <a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#x:22"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#y:23"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#x:22"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#y:23"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#72c1e614b36b07dc51a712bc261ee813"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">)</span></a>.<br/> | 133 |   <a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#x:22"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#y:23"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#x:22"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#y:23"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#72c1e614b36b07dc51a712bc261ee813"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">)</span></a>.<br/> | 
| Offset 143, 19 lines modified | Offset 143, 19 lines modified | ||
| 143 | <br/> | 143 | <br/> | 
| 144 | <span·class="id"·title="keyword">Notation</span>·<a·id="Qpower_decomp"·class="idref"·href="#Qpower_decomp"><span·class="id"·title="abbreviation">Qpower_decomp</span></a>·:=·<a·class="idref"·href="Coq.QArith.Qpower.html#Qpower_decomp_positive"><span·class="id"·title="lemma">Qpower_decomp_positive</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 144 | <span·class="id"·title="keyword">Notation</span>·<a·id="Qpower_decomp"·class="idref"·href="#Qpower_decomp"><span·class="id"·title="abbreviation">Qpower_decomp</span></a>·:=·<a·class="idref"·href="Coq.QArith.Qpower.html#Qpower_decomp_positive"><span·class="id"·title="lemma">Qpower_decomp_positive</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 145 | <br/> | 145 | <br/> | 
| 146 | </div> | 146 | </div> | 
| 147 | <div·class="doc"> | 147 | <div·class="doc"> | 
| 148 | <a·id="lab | 148 | <a·id="lab1023"></a><h1·class="section">Properties·of·Qpower</h1> | 
| 149 | <div·class="paragraph">·</div> | 149 | <div·class="paragraph">·</div> | 
| 150 | <a·id="lab | 150 | <a·id="lab1024"></a><h2·class="section">Values·of·Qpower·for·specific·arguments</h2> | 
| 151 | </div> | 151 | </div> | 
| 152 | <div·class="code"> | 152 | <div·class="code"> | 
| 153 | <br/> | 153 | <br/> | 
| 154 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_0"·class="idref"·href="#Qpower_0"><span·class="id"·title="lemma">Qpower_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:24"·class="idref"·href="#n:24"><span·class="id"·title="binder">n</span></a>,·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:24"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>0)%<span·class="id"·title="var">Z</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#n:24"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 154 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_0"·class="idref"·href="#Qpower_0"><span·class="id"·title="lemma">Qpower_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:24"·class="idref"·href="#n:24"><span·class="id"·title="binder">n</span></a>,·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:24"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>0)%<span·class="id"·title="var">Z</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#n:24"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 
| Offset 170, 15 lines modified | Offset 170, 15 lines modified | ||
| 170 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_1_r"·class="idref"·href="#Qpower_1_r"><span·class="id"·title="lemma">Qpower_1_r</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="q:27"·class="idref"·href="#q:27"><span·class="id"·title="binder">q</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,<br/> | 170 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_1_r"·class="idref"·href="#Qpower_1_r"><span·class="id"·title="lemma">Qpower_1_r</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="q:27"·class="idref"·href="#q:27"><span·class="id"·title="binder">q</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,<br/> | 
| 171 |   <a·class="idref"·href="Coq.QArith.Qpower.html#q:27"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a>1·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#q:27"><span·class="id"·title="variable">q</span></a>.<br/> | 171 |   <a·class="idref"·href="Coq.QArith.Qpower.html#q:27"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a>1·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#q:27"><span·class="id"·title="variable">q</span></a>.<br/> | 
| 172 | <br/> | 172 | <br/> | 
| 173 | </div> | 173 | </div> | 
| 174 | <div·class="doc"> | 174 | <div·class="doc"> | 
| 175 | <a·id="lab | 175 | <a·id="lab1025"></a><h2·class="section">Relation·of·Qpower·to·zero</h2> | 
| 176 | </div> | 176 | </div> | 
| 177 | <div·class="code"> | 177 | <div·class="code"> | 
| 178 | <br/> | 178 | <br/> | 
| Max diff block lines reached; 37421/59703 bytes (62.68%) of diff not shown. | |||
| Offset 54, 15 lines modified | Offset 54, 15 lines modified | ||
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>.<br/> | 
| 55 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 55 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 56 | <br/> | 56 | <br/> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="doc"> | 58 | <div·class="doc"> | 
| 59 | <a·id="lab | 59 | <a·id="lab225"></a><h1·class="section">Formalization·of·alternated·series</h1> | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="code"> | 61 | <div·class="code"> | 
| 62 | <span·class="id"·title="keyword">Definition</span>·<a·id="tg_alt"·class="idref"·href="#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·(<a·id="Un:1"·class="idref"·href="#Un:1"><span·class="id"·title="binder">Un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="i:2"·class="idref"·href="#i:2"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">(</span></a>-1<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#i:2"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:1"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#i:2"><span·class="id"·title="variable">i</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Definition</span>·<a·id="tg_alt"·class="idref"·href="#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·(<a·id="Un:1"·class="idref"·href="#Un:1"><span·class="id"·title="binder">Un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="i:2"·class="idref"·href="#i:2"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">(</span></a>-1<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#i:2"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:1"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#i:2"><span·class="id"·title="variable">i</span></a>.<br/> | 
| 63 | <span·class="id"·title="keyword">Definition</span>·<a·id="positivity_seq"·class="idref"·href="#positivity_seq"><span·class="id"·title="definition">positivity_seq</span></a>·(<a·id="Un:3"·class="idref"·href="#Un:3"><span·class="id"·title="binder">Un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="n:4"·class="idref"·href="#n:4"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:3"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#n:4"><span·class="id"·title="variable">n</span></a>.<br/> | 63 | <span·class="id"·title="keyword">Definition</span>·<a·id="positivity_seq"·class="idref"·href="#positivity_seq"><span·class="id"·title="definition">positivity_seq</span></a>·(<a·id="Un:3"·class="idref"·href="#Un:3"><span·class="id"·title="binder">Un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="n:4"·class="idref"·href="#n:4"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:3"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#n:4"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 64 | <br/> | 64 | <br/> | 
| Offset 117, 15 lines modified | Offset 117, 15 lines modified | ||
| 117 |     <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:29"><span·class="id"·title="variable">Un</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 117 |     <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:29"><span·class="id"·title="variable">Un</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 118 |     <a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="l:30"·class="idref"·href="#l:30"><span·class="id"·title="binder">l</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="N:31"·class="idref"·href="#N:31"><span·class="id"·title="binder">N</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:29"><span·class="id"·title="variable">Un</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:31"><span·class="id"·title="variable">N</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:30"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 118 |     <a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="l:30"·class="idref"·href="#l:30"><span·class="id"·title="binder">l</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="N:31"·class="idref"·href="#N:31"><span·class="id"·title="binder">N</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:29"><span·class="id"·title="variable">Un</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:31"><span·class="id"·title="variable">N</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:30"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 119 | <br/> | 119 | <br/> | 
| 120 | </div> | 120 | </div> | 
| 121 | <div·class="doc"> | 121 | <div·class="doc"> | 
| 122 | <a·id="lab | 122 | <a·id="lab226"></a><h1·class="section">Convergence·of·alternated·series</h1> | 
| 123 | </div> | 123 | </div> | 
| 124 | <div·class="code"> | 124 | <div·class="code"> | 
| 125 | <span·class="id"·title="keyword">Theorem</span>·<a·id="alternated_series"·class="idref"·href="#alternated_series"><span·class="id"·title="lemma">alternated_series</span></a>·:<br/> | 125 | <span·class="id"·title="keyword">Theorem</span>·<a·id="alternated_series"·class="idref"·href="#alternated_series"><span·class="id"·title="lemma">alternated_series</span></a>·:<br/> | 
| 126 |   <span·class="id"·title="keyword">forall</span>·<a·id="Un:32"·class="idref"·href="#Un:32"><span·class="id"·title="binder">Un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 126 |   <span·class="id"·title="keyword">forall</span>·<a·id="Un:32"·class="idref"·href="#Un:32"><span·class="id"·title="binder">Un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 
| 127 |     <a·class="idref"·href="Coq.Reals.SeqProp.html#Un_decreasing"><span·class="id"·title="definition">Un_decreasing</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:32"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 127 |     <a·class="idref"·href="Coq.Reals.SeqProp.html#Un_decreasing"><span·class="id"·title="definition">Un_decreasing</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:32"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 128 |     <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:32"><span·class="id"·title="variable">Un</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 128 |     <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:32"><span·class="id"·title="variable">Un</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| Offset 139, 15 lines modified | Offset 139, 15 lines modified | ||
| 139 |     <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="N:38"·class="idref"·href="#N:38"><span·class="id"·title="binder">N</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:38"><span·class="id"·title="variable">N</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:36"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 139 |     <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="N:38"·class="idref"·href="#N:38"><span·class="id"·title="binder">N</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:38"><span·class="id"·title="variable">N</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:36"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 140 |     <a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:37"><span·class="id"·title="variable">N</span></a>))·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:36"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:37"><span·class="id"·title="variable">N</span></a>).<br/> | 140 |     <a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:37"><span·class="id"·title="variable">N</span></a>))·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:36"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:37"><span·class="id"·title="variable">N</span></a>).<br/> | 
| 141 | <br/> | 141 | <br/> | 
| 142 | </div> | 142 | </div> | 
| 143 | <div·class="doc"> | 143 | <div·class="doc"> | 
| 144 | <a·id="lab | 144 | <a·id="lab227"></a><h1·class="section">Application·:·construction·of·PI</h1> | 
| 145 | </div> | 145 | </div> | 
| 146 | <div·class="code"> | 146 | <div·class="code"> | 
| 147 | <br/> | 147 | <br/> | 
| 148 | <span·class="id"·title="keyword">Definition</span>·<a·id="PI_tg"·class="idref"·href="#PI_tg"><span·class="id"·title="definition">PI_tg</span></a>·(<a·id="n:47"·class="idref"·href="#n:47"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#n:47"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·1).<br/> | 148 | <span·class="id"·title="keyword">Definition</span>·<a·id="PI_tg"·class="idref"·href="#PI_tg"><span·class="id"·title="definition">PI_tg</span></a>·(<a·id="n:47"·class="idref"·href="#n:47"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#n:47"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·1).<br/> | 
| Offset 404, 15 lines modified | Offset 404, 15 lines modified | ||
| 404 |   :·<a·class="idref"·href="Coq.Classes.CMorphisms.html#Proper"><span·class="id"·title="class">CMorphisms.Proper</span></a><br/> | 404 |   :·<a·class="idref"·href="Coq.Classes.CMorphisms.html#Proper"><span·class="id"·title="class">CMorphisms.Proper</span></a><br/> | 
| 405 |       (<a·class="idref"·href="Coq.Classes.CMorphisms.html#respectful"><span·class="id"·title="definition">CMorphisms.respectful</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CRealEq"><span·class="id"·title="definition">CRealEq</span></a>)·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#inject_Q"><span·class="id"·title="definition">inject_Q</span></a>.<br/> | 405 |       (<a·class="idref"·href="Coq.Classes.CMorphisms.html#respectful"><span·class="id"·title="definition">CMorphisms.respectful</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CRealEq"><span·class="id"·title="definition">CRealEq</span></a>)·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#inject_Q"><span·class="id"·title="definition">inject_Q</span></a>.<br/> | 
| 406 | <br/> | 406 | <br/> | 
| 407 | </div> | 407 | </div> | 
| 408 | <div·class="doc"> | 408 | <div·class="doc"> | 
| 409 | <a·id="lab | 409 | <a·id="lab166"></a><h1·class="section">Algebraic·operations</h1> | 
| 410 | <div·class="paragraph">·</div> | 410 | <div·class="paragraph">·</div> | 
| 411 | ·We·reduce·the·rational·numbers·to·accelerate·calculations.· | 411 | ·We·reduce·the·rational·numbers·to·accelerate·calculations.· | 
| 412 | </div> | 412 | </div> | 
| 413 | <div·class="code"> | 413 | <div·class="code"> | 
| 414 | <span·class="id"·title="keyword">Definition</span>·<a·id="CReal_plus_seq"·class="idref"·href="#CReal_plus_seq"><span·class="id"·title="definition">CReal_plus_seq</span></a>·(<a·id="x:112"·class="idref"·href="#x:112"><span·class="id"·title="binder">x</span></a>·<a·id="y:113"·class="idref"·href="#y:113"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CReal"><span·class="id"·title="record">CReal</span></a>)·:=<br/> | 414 | <span·class="id"·title="keyword">Definition</span>·<a·id="CReal_plus_seq"·class="idref"·href="#CReal_plus_seq"><span·class="id"·title="definition">CReal_plus_seq</span></a>·(<a·id="x:112"·class="idref"·href="#x:112"><span·class="id"·title="binder">x</span></a>·<a·id="y:113"·class="idref"·href="#y:113"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CReal"><span·class="id"·title="record">CReal</span></a>)·:=<br/> | 
| Offset 5556, 16 lines modified | Offset 5556, 16 lines modified | ||
| 00015b30:·6976·6543·6175·6368·7952·6561·6c73·4d75··iveCauchyRealsMu | 00015b30:·6976·6543·6175·6368·7952·6561·6c73·4d75··iveCauchyRealsMu | ||
| 00015b40:·6c74·2e68·746d·6c23·783a·3130·3522·3e3c··lt.html#x:105">< | 00015b40:·6c74·2e68·746d·6c23·783a·3130·3522·3e3c··lt.html#x:105">< | ||
| 00015b50:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | 00015b50:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
| 00015b60:·7469·746c·653d·2276·6172·6961·626c·6522··title="variable" | 00015b60:·7469·746c·653d·2276·6172·6961·626c·6522··title="variable" | ||
| 00015b70:·3e78·3c2f·7370·616e·3e3c·2f61·3e2e·3c62··>x</span></a>.<b | 00015b70:·3e78·3c2f·7370·616e·3e3c·2f61·3e2e·3c62··>x</span></a>.<b | ||
| 00015b80:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | 00015b80:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | ||
| 00015b90:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | 00015b90:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | ||
| 00015ba0:·6f63·223e·0a3c·6120·6964·3d22·6c61·623 | 00015ba0:·6f63·223e·0a3c·6120·6964·3d22·6c61·6231··oc">.<a·id="lab1 | ||
| 00015bb0:·3 | 00015bb0:·3732·223e·3c2f·613e·3c68·3120·636c·6173··72"></a><h1·clas | ||
| 00015bc0:·733d·2273·6563·7469·6f6e·223e·4669·656c··s="section">Fiel | 00015bc0:·733d·2273·6563·7469·6f6e·223e·4669·656c··s="section">Fiel | ||
| 00015bd0:·643c·2f68·313e·0a0a·3c2f·6469·763e·0a3c··d</h1>..</div>.< | 00015bd0:·643c·2f68·313e·0a0a·3c2f·6469·763e·0a3c··d</h1>..</div>.< | ||
| 00015be0:·6469·7620·636c·6173·733d·2263·6f64·6522··div·class="code" | 00015be0:·6469·7620·636c·6173·733d·2263·6f64·6522··div·class="code" | ||
| 00015bf0:·3e0a·0a3c·6272·2f3e·0a3c·7370·616e·2063··>..<br/>.<span·c | 00015bf0:·3e0a·0a3c·6272·2f3e·0a3c·7370·616e·2063··>..<br/>.<span·c | ||
| 00015c00:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | 00015c00:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
| 00015c10:·226b·6579·776f·7264·223e·4c65·6d6d·613c··"keyword">Lemma< | 00015c10:·226b·6579·776f·7264·223e·4c65·6d6d·613c··"keyword">Lemma< | ||
| 00015c20:·2f73·7061·6e3e·203c·6120·6964·3d22·4352··/span>·<a·id="CR | 00015c20:·2f73·7061·6e3e·203c·6120·6964·3d22·4352··/span>·<a·id="CR | 
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> | 
| 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lqa.html#"><span·class="id"·title="library">Lqa</span></a>.·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Cauchy.PosExtra.html#"><span·class="id"·title="library">PosExtra</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lqa.html#"><span·class="id"·title="library">Lqa</span></a>.·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Cauchy.PosExtra.html#"><span·class="id"·title="library">PosExtra</span></a>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab167"></a><h1·class="section">Power·of·2·open·and·closed·upper·and·lower·bounds·for·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>·<span·class="inlinecode">:</span>·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span></h1> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="code"> | 58 | <div·class="code"> | 
| 59 | <br/> | 59 | <br/> | 
| 60 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos_log2floor_plus1"·class="idref"·href="#Pos_log2floor_plus1"><span·class="id"·title="definition">Pos_log2floor_plus1</span></a>·(<a·id="p:1"·class="idref"·href="#p:1"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·:=<br/> | 60 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos_log2floor_plus1"·class="idref"·href="#Pos_log2floor_plus1"><span·class="id"·title="definition">Pos_log2floor_plus1</span></a>·(<a·id="p:1"·class="idref"·href="#p:1"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·:=<br/> | 
| 61 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#p:1"><span·class="id"·title="variable">p</span></a>·<span·class="id"·title="keyword">with</span><br/> | 61 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#p:1"><span·class="id"·title="variable">p</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 92, 15 lines modified | Offset 92, 15 lines modified | ||
| 92 |   |·1%<span·class="id"·title="var">positive</span>······=>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a><br/> | 92 |   |·1%<span·class="id"·title="var">positive</span>······=>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a><br/> | 
| 93 |   <span·class="id"·title="keyword">end</span>.<br/> | 93 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 94 | <br/> | 94 | <br/> | 
| 95 | </div> | 95 | </div> | 
| 96 | <div·class="doc"> | 96 | <div·class="doc"> | 
| 97 | <a·id="lab | 97 | <a·id="lab168"></a><h2·class="section">Power·of·two·closed·upper·bound·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode">2^<span·class="id"·title="var">z</span></span></h2> | 
| 98 | </div> | 98 | </div> | 
| 99 | <div·class="code"> | 99 | <div·class="code"> | 
| 100 | <br/> | 100 | <br/> | 
| 101 | <span·class="id"·title="keyword">Definition</span>·<a·id="Qbound_le_ZExp2"·class="idref"·href="#Qbound_le_ZExp2"><span·class="id"·title="definition">Qbound_le_ZExp2</span></a>·(<a·id="q:12"·class="idref"·href="#q:12"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=<br/> | 101 | <span·class="id"·title="keyword">Definition</span>·<a·id="Qbound_le_ZExp2"·class="idref"·href="#Qbound_le_ZExp2"><span·class="id"·title="definition">Qbound_le_ZExp2</span></a>·(<a·id="q:12"·class="idref"·href="#q:12"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=<br/> | 
| 102 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qnum"><span·class="id"·title="projection">Qnum</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:12"><span·class="id"·title="variable">q</span></a>·<span·class="id"·title="keyword">with</span><br/> | 102 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qnum"><span·class="id"·title="projection">Qnum</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:12"><span·class="id"·title="variable">q</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 121, 15 lines modified | Offset 121, 15 lines modified | ||
| 121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qbound_leabs_ZExp2_spec"·class="idref"·href="#Qbound_leabs_ZExp2_spec"><span·class="id"·title="lemma">Qbound_leabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:15"·class="idref"·href="#q:15"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>),<br/> | 121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qbound_leabs_ZExp2_spec"·class="idref"·href="#Qbound_leabs_ZExp2_spec"><span·class="id"·title="lemma">Qbound_leabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:15"·class="idref"·href="#q:15"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>),<br/> | 
| 122 |   (<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:15"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qbound_leabs_ZExp2"><span·class="id"·title="definition">Qbound_leabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:15"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>.<br/> | 122 |   (<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:15"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qbound_leabs_ZExp2"><span·class="id"·title="definition">Qbound_leabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:15"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>.<br/> | 
| 123 | <br/> | 123 | <br/> | 
| 124 | </div> | 124 | </div> | 
| 125 | <div·class="doc"> | 125 | <div·class="doc"> | 
| 126 | <a·id="lab | 126 | <a·id="lab169"></a><h2·class="section">Power·of·two·open·upper·bound·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode">2^<span·class="id"·title="var">z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Qabs</span></span>·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode">2^<span·class="id"·title="var">z</span></span></h2> | 
| 127 | <div·class="paragraph">·</div> | 127 | <div·class="paragraph">·</div> | 
| 128 | ·Compute·a·z·such·that·q<2^z. | 128 | ·Compute·a·z·such·that·q<2^z. | 
| 129 | ····z·shall·be·close·to·as·small·as·possible,·but·we·need·a·compromise·between | 129 | ····z·shall·be·close·to·as·small·as·possible,·but·we·need·a·compromise·between | 
| 130 | ····the·tighness·of·the·bound·and·the·computation·speed·and·proof·complexity. | 130 | ····the·tighness·of·the·bound·and·the·computation·speed·and·proof·complexity. | 
| 131 | ····Looking·just·at·the·log2·of·the·numerator·and·denominator,·this·is·a·tight·bound | 131 | ····Looking·just·at·the·log2·of·the·numerator·and·denominator,·this·is·a·tight·bound | 
| Offset 167, 15 lines modified | Offset 167, 15 lines modified | ||
| 167 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qbound_ltabs_ZExp2_spec"·class="idref"·href="#Qbound_ltabs_ZExp2_spec"><span·class="id"·title="lemma">Qbound_ltabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:19"·class="idref"·href="#q:19"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>),<br/> | 167 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qbound_ltabs_ZExp2_spec"·class="idref"·href="#Qbound_ltabs_ZExp2_spec"><span·class="id"·title="lemma">Qbound_ltabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:19"·class="idref"·href="#q:19"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>),<br/> | 
| 168 |   (<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:19"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qbound_ltabs_ZExp2"><span·class="id"·title="definition">Qbound_ltabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:19"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>.<br/> | 168 |   (<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:19"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qbound_ltabs_ZExp2"><span·class="id"·title="definition">Qbound_ltabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:19"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>.<br/> | 
| 169 | <br/> | 169 | <br/> | 
| 170 | </div> | 170 | </div> | 
| 171 | <div·class="doc"> | 171 | <div·class="doc"> | 
| 172 | <a·id="lab | 172 | <a·id="lab170"></a><h2·class="section">Power·of·2·open·lower·bounds·for·<span·class="inlinecode">2^<span·class="id"·title="var">z</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>·and·<span·class="inlinecode">2^<span·class="id"·title="var">z</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode"><span·class="id"·title="var">Qabs</span></span>·<span·class="inlinecode"><span·class="id"·title="var">q</span></span></h2> | 
| 173 | <div·class="paragraph">·</div> | 173 | <div·class="paragraph">·</div> | 
| 174 | ·Note:·the·-2·is·required·cause·of·the·Qlt·limit. | 174 | ·Note:·the·-2·is·required·cause·of·the·Qlt·limit. | 
| 175 | ····In·case·q·is·a·power·of·two,·the·lower·and·upper·bound·must·be·a·factor·of·4·apart· | 175 | ····In·case·q·is·a·power·of·two,·the·lower·and·upper·bound·must·be·a·factor·of·4·apart· | 
| 176 | </div> | 176 | </div> | 
| 177 | <div·class="code"> | 177 | <div·class="code"> | 
| Offset 198, 15 lines modified | Offset 198, 15 lines modified | ||
| 198 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qlowbound_ltabs_ZExp2_spec"·class="idref"·href="#Qlowbound_ltabs_ZExp2_spec"><span·class="id"·title="lemma">Qlowbound_ltabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:25"·class="idref"·href="#q:25"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·(<a·id="Hqgt0:26"·class="idref"·href="#Hqgt0:26"><span·class="id"·title="binder">Hqgt0</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0),<br/> | 198 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qlowbound_ltabs_ZExp2_spec"·class="idref"·href="#Qlowbound_ltabs_ZExp2_spec"><span·class="id"·title="lemma">Qlowbound_ltabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:25"·class="idref"·href="#q:25"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·(<a·id="Hqgt0:26"·class="idref"·href="#Hqgt0:26"><span·class="id"·title="binder">Hqgt0</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0),<br/> | 
| 199 |   (2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qlowbound_ltabs_ZExp2"><span·class="id"·title="definition">Qlowbound_ltabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a>)%<span·class="id"·title="var">Q</span>.<br/> | 199 |   (2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qlowbound_ltabs_ZExp2"><span·class="id"·title="definition">Qlowbound_ltabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a>)%<span·class="id"·title="var">Q</span>.<br/> | 
| 200 | <br/> | 200 | <br/> | 
| 201 | </div> | 201 | </div> | 
| 202 | <div·class="doc"> | 202 | <div·class="doc"> | 
| 203 | <a·id="lab | 203 | <a·id="lab171"></a><h2·class="section">Existential·formulations·of·power·of·2·lower·and·upper·bounds</h2> | 
| 204 | </div> | 204 | </div> | 
| 205 | <div·class="code"> | 205 | <div·class="code"> | 
| 206 | <br/> | 206 | <br/> | 
| 207 | <span·class="id"·title="keyword">Definition</span>·<a·id="QarchimedeanExp2_Z"·class="idref"·href="#QarchimedeanExp2_Z"><span·class="id"·title="definition">QarchimedeanExp2_Z</span></a>·(<a·id="q:27"·class="idref"·href="#q:27"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)<br/> | 207 | <span·class="id"·title="keyword">Definition</span>·<a·id="QarchimedeanExp2_Z"·class="idref"·href="#QarchimedeanExp2_Z"><span·class="id"·title="definition">QarchimedeanExp2_Z</span></a>·(<a·id="q:27"·class="idref"·href="#q:27"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)<br/> | 
| 208 |   :··<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a><a·id="z:28"·class="idref"·href="#z:28"><span·class="id"·title="binder">z</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·(<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:27"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#z:28"><span·class="id"·title="variable">z</span></a>)%<span·class="id"·title="var">Q</span><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a><br/> | 208 |   :··<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a><a·id="z:28"·class="idref"·href="#z:28"><span·class="id"·title="binder">z</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·(<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:27"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#z:28"><span·class="id"·title="variable">z</span></a>)%<span·class="id"·title="var">Q</span><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a><br/> | 
| Offset 59, 15 lines modified | Offset 59, 15 lines modified | ||
| 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#"><span·class="id"·title="library">QExtra</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#"><span·class="id"·title="library">QExtra</span></a>.<br/> | 
| 60 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Classes.CMorphisms.html#"><span·class="id"·title="library">CMorphisms</span></a>.<br/> | 60 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Classes.CMorphisms.html#"><span·class="id"·title="library">CMorphisms</span></a>.<br/> | 
| 61 | <br/> | 61 | <br/> | 
| 62 | </div> | 62 | </div> | 
| 63 | <div·class="doc"> | 63 | <div·class="doc"> | 
| 64 | <a·id="lab | 64 | <a·id="lab83"></a><h1·class="section">Q·Auxiliary·Lemmas</h1> | 
| 65 | </div> | 65 | </div> | 
| 66 | <div·class="code"> | 66 | <div·class="code"> | 
| 67 | <br/> | 67 | <br/> | 
| 68 | <br/> | 68 | <br/> | 
| Offset 82, 19 lines modified | Offset 82, 19 lines modified | ||
| 82 | <span·class="id"·title="keyword">Local·Lemma</span>·<a·id="Qpower_2_neg_le_one"·class="idref"·href="#Qpower_2_neg_le_one"><span·class="id"·title="lemma">Qpower_2_neg_le_one</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,<br/> | 82 | <span·class="id"·title="keyword">Local·Lemma</span>·<a·id="Qpower_2_neg_le_one"·class="idref"·href="#Qpower_2_neg_le_one"><span·class="id"·title="lemma">Qpower_2_neg_le_one</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,<br/> | 
| 83 |     (2·<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#n:3"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·1)%<span·class="id"·title="var">Q</span>.<br/> | 83 |     (2·<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#n:3"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·1)%<span·class="id"·title="var">Q</span>.<br/> | 
| 84 | <br/> | 84 | <br/> | 
| 85 | </div> | 85 | </div> | 
| 86 | <div·class="doc"> | 86 | <div·class="doc"> | 
| 87 | <a·id="lab | 87 | <a·id="lab84"></a><h1·class="section">Dedekind·cuts</h1> | 
| 88 | <div·class="paragraph">·</div> | 88 | <div·class="paragraph">·</div> | 
| 89 | <a·id="lab | 89 | <a·id="lab85"></a><h2·class="section">Definition</h2> | 
| 90 | <div·class="paragraph">·</div> | 90 | <div·class="paragraph">·</div> | 
| 91 | <div·class="paragraph">·</div> | 91 | <div·class="paragraph">·</div> | 
| 92 | ···Classical·Dedekind·reals.·With·the·3·logical·axioms·funext, | 92 | ···Classical·Dedekind·reals.·With·the·3·logical·axioms·funext, | 
| Offset 128, 15 lines modified | Offset 128, 15 lines modified | ||
| 128 |      <br/> | 128 |      <br/> | 
| 129 |      <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="q:18"·class="idref"·href="#q:18"><span·class="id"·title="binder">q</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:18"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="r:19"·class="idref"·href="#r:19"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qle"><span·class="id"·title="definition">Qle</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:18"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> | 129 |      <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="q:18"·class="idref"·href="#q:18"><span·class="id"·title="binder">q</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:18"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="r:19"·class="idref"·href="#r:19"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qle"><span·class="id"·title="definition">Qle</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:18"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 130 | <br/> | 130 | <br/> | 
| 131 | </div> | 131 | </div> | 
| 132 | <div·class="doc"> | 132 | <div·class="doc"> | 
| 133 | <a·id="lab | 133 | <a·id="lab86"></a><h2·class="section">Properties</h2> | 
| 134 | </div> | 134 | </div> | 
| 135 | <div·class="code"> | 135 | <div·class="code"> | 
| 136 | <br/> | 136 | <br/> | 
| 137 | <span·class="id"·title="keyword">Lemma</span>·<a·id="isLowerCut_hprop"·class="idref"·href="#isLowerCut_hprop"><span·class="id"·title="lemma">isLowerCut_hprop</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:20"·class="idref"·href="#f:20"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>),<br/> | 137 | <span·class="id"·title="keyword">Lemma</span>·<a·id="isLowerCut_hprop"·class="idref"·href="#isLowerCut_hprop"><span·class="id"·title="lemma">isLowerCut_hprop</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:20"·class="idref"·href="#f:20"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>),<br/> | 
| 138 |     <a·class="idref"·href="Coq.Logic.HLevels.html#IsHProp"><span·class="id"·title="definition">IsHProp</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:20"><span·class="id"·title="variable">f</span></a>).<br/> | 138 |     <a·class="idref"·href="Coq.Logic.HLevels.html#IsHProp"><span·class="id"·title="definition">IsHProp</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:20"><span·class="id"·title="variable">f</span></a>).<br/> | 
| Offset 160, 50 lines modified | Offset 160, 50 lines modified | ||
| 160 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:32"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:34"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a><br/> | 160 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:32"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:34"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a><br/> | 
| 161 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qlt"><span·class="id"·title="definition">Qlt</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:33"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:34"><span·class="id"·title="variable">r</span></a>.<br/> | 161 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qlt"><span·class="id"·title="definition">Qlt</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:33"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:34"><span·class="id"·title="variable">r</span></a>.<br/> | 
| 162 | <br/> | 162 | <br/> | 
| 163 | </div> | 163 | </div> | 
| 164 | <div·class="doc"> | 164 | <div·class="doc"> | 
| 165 | <a·id="lab | 165 | <a·id="lab87"></a><h1·class="section">Classical·Dedekind·reals</h1> | 
| 166 | <div·class="paragraph">·</div> | 166 | <div·class="paragraph">·</div> | 
| 167 | <a·id="lab | 167 | <a·id="lab88"></a><h2·class="section">Definition</h2> | 
| 168 | </div> | 168 | </div> | 
| 169 | <div·class="code"> | 169 | <div·class="code"> | 
| 170 | <br/> | 170 | <br/> | 
| 171 | <span·class="id"·title="keyword">Definition</span>·<a·id="DReal"·class="idref"·href="#DReal"><span·class="id"·title="definition">DReal</span></a>·:·<span·class="id"·title="keyword">Set</span><br/> | 171 | <span·class="id"·title="keyword">Definition</span>·<a·id="DReal"·class="idref"·href="#DReal"><span·class="id"·title="definition">DReal</span></a>·:·<span·class="id"·title="keyword">Set</span><br/> | 
| 172 |   :=·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="f:35"·class="idref"·href="#f:35"><span·class="id"·title="binder">f</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:35"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 172 |   :=·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="f:35"·class="idref"·href="#f:35"><span·class="id"·title="binder">f</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:35"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 173 | <br/> | 173 | <br/> | 
| 174 | </div> | 174 | </div> | 
| 175 | <div·class="doc"> | 175 | <div·class="doc"> | 
| 176 | <a·id="lab8 | 176 | <a·id="lab89"></a><h2·class="section">Induction·principle</h2> | 
| 177 | </div> | 177 | </div> | 
| 178 | <div·class="code"> | 178 | <div·class="code"> | 
| 179 | <br/> | 179 | <br/> | 
| 180 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="DRealQlim_rec"·class="idref"·href="#DRealQlim_rec"><span·class="id"·title="definition">DRealQlim_rec</span></a>·(<a·id="f:36"·class="idref"·href="#f:36"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·(<a·id="low:37"·class="idref"·href="#low:37"><span·class="id"·title="binder">low</span></a>·:·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>)·(<a·id="n:38"·class="idref"·href="#n:38"><span·class="id"·title="binder">n</span></a>·<a·id="p:39"·class="idref"·href="#p:39"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·{·<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">p</span>·}<br/> | 180 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="DRealQlim_rec"·class="idref"·href="#DRealQlim_rec"><span·class="id"·title="definition">DRealQlim_rec</span></a>·(<a·id="f:36"·class="idref"·href="#f:36"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·(<a·id="low:37"·class="idref"·href="#low:37"><span·class="id"·title="binder">low</span></a>·:·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>)·(<a·id="n:38"·class="idref"·href="#n:38"><span·class="id"·title="binder">n</span></a>·<a·id="p:39"·class="idref"·href="#p:39"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·{·<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">p</span>·}<br/> | 
| 181 |   :·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#lowerCutBelow"><span·class="id"·title="lemma">lowerCutBelow</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#low:37"><span·class="id"·title="variable">low</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#p:39"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#n:38"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a><br/> | 181 |   :·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#lowerCutBelow"><span·class="id"·title="lemma">lowerCutBelow</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#low:37"><span·class="id"·title="variable">low</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#p:39"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#n:38"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a><br/> | 
| 182 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="q:40"·class="idref"·href="#q:40"><span·class="id"·title="binder">q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:40"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:40"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">(</span></a>1·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#n:38"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 182 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="q:40"·class="idref"·href="#q:40"><span·class="id"·title="binder">q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:40"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:40"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">(</span></a>1·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#n:38"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 183 | <br/> | 183 | <br/> | 
| 184 | </div> | 184 | </div> | 
| 185 | <div·class="doc"> | 185 | <div·class="doc"> | 
| 186 | <a·id="lab | 186 | <a·id="lab90"></a><h2·class="section">Conversion·to·and·from·constructive·Cauchy·real·CReal</h2> | 
| 187 | <div·class="paragraph">·</div> | 187 | <div·class="paragraph">·</div> | 
| 188 | <a·id="lab | 188 | <a·id="lab91"></a><h3·class="section">Conversion·from·CReal·to·DReal</h3> | 
| 189 | </div> | 189 | </div> | 
| 190 | <div·class="code"> | 190 | <div·class="code"> | 
| 191 | <br/> | 191 | <br/> | 
| 192 | <span·class="id"·title="keyword">Lemma</span>·<a·id="DRealAbstr_aux"·class="idref"·href="#DRealAbstr_aux"><span·class="id"·title="lemma">DRealAbstr_aux</span></a>·:<br/> | 192 | <span·class="id"·title="keyword">Lemma</span>·<a·id="DRealAbstr_aux"·class="idref"·href="#DRealAbstr_aux"><span·class="id"·title="lemma">DRealAbstr_aux</span></a>·:<br/> | 
| 193 |   <span·class="id"·title="keyword">forall</span>·<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>·<a·id="H:43"·class="idref"·href="#H:43"><span·class="id"·title="binder">H</span></a>,<br/> | 193 |   <span·class="id"·title="keyword">forall</span>·<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>·<a·id="H:43"·class="idref"·href="#H:43"><span·class="id"·title="binder">H</span></a>,<br/> | 
| Offset 214, 15 lines modified | Offset 214, 15 lines modified | ||
| 214 | <br/> | 214 | <br/> | 
| 215 | <span·class="id"·title="keyword">Definition</span>·<a·id="DRealAbstr"·class="idref"·href="#DRealAbstr"><span·class="id"·title="definition">DRealAbstr</span></a>·:·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CReal"><span·class="id"·title="record">CReal</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#DReal"><span·class="id"·title="definition">DReal</span></a>.<br/> | 215 | <span·class="id"·title="keyword">Definition</span>·<a·id="DRealAbstr"·class="idref"·href="#DRealAbstr"><span·class="id"·title="definition">DRealAbstr</span></a>·:·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CReal"><span·class="id"·title="record">CReal</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#DReal"><span·class="id"·title="definition">DReal</span></a>.<br/> | 
| 216 | <br/> | 216 | <br/> | 
| 217 | </div> | 217 | </div> | 
| 218 | <div·class="doc"> | 218 | <div·class="doc"> | 
| 219 | <a·id="lab | 219 | <a·id="lab92"></a><h3·class="section">Conversion·from·DReal·to·CReal</h3> | 
| 220 | </div> | 220 | </div> | 
| 221 | <div·class="code"> | 221 | <div·class="code"> | 
| 222 | <br/> | 222 | <br/> | 
| 223 | <span·class="id"·title="keyword">Definition</span>·<a·id="DRealQlim"·class="idref"·href="#DRealQlim"><span·class="id"·title="definition">DRealQlim</span></a>·(<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#DReal"><span·class="id"·title="definition">DReal</span></a>)·(<a·id="n:71"·class="idref"·href="#n:71"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)<br/> | 223 | <span·class="id"·title="keyword">Definition</span>·<a·id="DRealQlim"·class="idref"·href="#DRealQlim"><span·class="id"·title="definition">DRealQlim</span></a>·(<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#DReal"><span·class="id"·title="definition">DReal</span></a>)·(<a·id="n:71"·class="idref"·href="#n:71"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)<br/> | 
| 224 |   :·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="q:72"·class="idref"·href="#q:72"><span·class="id"·title="binder">q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:72"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:70"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:72"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">(</span></a>1<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#n:71"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 224 |   :·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="q:72"·class="idref"·href="#q:72"><span·class="id"·title="binder">q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:72"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:70"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:72"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">(</span></a>1<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#n:71"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 
| Offset 265, 15 lines modified | Offset 265, 15 lines modified | ||
| 265 |   <a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#bound"><span·class="id"·title="projection">bound</span></a>·:=·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#CReal_of_DReal_bound"><span·class="id"·title="lemma">CReal_of_DReal_bound</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:90"><span·class="id"·title="variable">x</span></a><br/> | 265 |   <a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#bound"><span·class="id"·title="projection">bound</span></a>·:=·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#CReal_of_DReal_bound"><span·class="id"·title="lemma">CReal_of_DReal_bound</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:90"><span·class="id"·title="variable">x</span></a><br/> | 
| 266 | |}.<br/> | 266 | |}.<br/> | 
| 267 | <br/> | 267 | <br/> | 
| 268 | </div> | 268 | </div> | 
| 269 | <div·class="doc"> | 269 | <div·class="doc"> | 
| 270 | <a·id="lab | 270 | <a·id="lab93"></a><h2·class="section">Order·for·DReal</h2> | 
| Max diff block lines reached; 1992/23095 bytes (8.63%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab112"></a><h1·class="section">Basic·lemmas·for·the·classical·real·numbers</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·This·file·provides·several·hundred·basic·lemmas·about·foundamental | 51 | ·This·file·provides·several·hundred·basic·lemmas·about·foundamental | 
| 52 | ····operations·on·R: | 52 | ····operations·on·R: | 
| 53 | <ul·class="doclist"> | 53 | <ul·class="doclist"> | 
| 54 | <li>·addition·denoted·by·<span·class="inlinecode"><span·class="id"·title="var">Rplus</span></span>·(notation:·infix·<span·class="inlinecode">+</span>), | 54 | <li>·addition·denoted·by·<span·class="inlinecode"><span·class="id"·title="var">Rplus</span></span>·(notation:·infix·<span·class="inlinecode">+</span>), | 
| Offset 133, 15 lines modified | Offset 133, 15 lines modified | ||
| 133 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 133 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 
| 134 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 134 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 135 | <br/> | 135 | <br/> | 
| 136 | </div> | 136 | </div> | 
| 137 | <div·class="doc"> | 137 | <div·class="doc"> | 
| 138 | <a·id="lab | 138 | <a·id="lab113"></a><h2·class="section">Relation·between·orders·and·equality</h2> | 
| 139 | <div·class="paragraph">·</div> | 139 | <div·class="paragraph">·</div> | 
| 140 | ·Reflexivity·of·the·large·orders· | 140 | ·Reflexivity·of·the·large·orders· | 
| 141 | </div> | 141 | </div> | 
| 142 | <div·class="code"> | 142 | <div·class="code"> | 
| Offset 223, 31 lines modified | Offset 223, 31 lines modified | ||
| 223 | <br/> | 223 | <br/> | 
| 224 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rdichotomy"·class="idref"·href="#Rdichotomy"><span·class="id"·title="lemma">Rdichotomy</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:19"·class="idref"·href="#r1:19"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:20"·class="idref"·href="#r2:20"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:19"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:20"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:19"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:20"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:19"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:20"><span·class="id"·title="variable">r2</span></a>.<br/> | 224 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rdichotomy"·class="idref"·href="#Rdichotomy"><span·class="id"·title="lemma">Rdichotomy</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:19"·class="idref"·href="#r1:19"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:20"·class="idref"·href="#r2:20"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:19"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:20"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:19"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:20"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:19"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:20"><span·class="id"·title="variable">r2</span></a>.<br/> | 
| 225 | <br/> | 225 | <br/> | 
| 226 | </div> | 226 | </div> | 
| 227 | <div·class="doc"> | 227 | <div·class="doc"> | 
| 228 | <a·id="lab | 228 | <a·id="lab114"></a><h2·class="section">Strong·decidable·equality</h2> | 
| 229 | </div> | 229 | </div> | 
| 230 | <div·class="code"> | 230 | <div·class="code"> | 
| 231 | <br/> | 231 | <br/> | 
| 232 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Req_dec_T"·class="idref"·href="#Req_dec_T"><span·class="id"·title="lemma">Req_dec_T</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:21"·class="idref"·href="#r1:21"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:22"·class="idref"·href="#r2:22"><span·class="id"·title="binder">r2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#r1:21"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:22"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#r1:21"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:22"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 232 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Req_dec_T"·class="idref"·href="#Req_dec_T"><span·class="id"·title="lemma">Req_dec_T</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:21"·class="idref"·href="#r1:21"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:22"·class="idref"·href="#r2:22"><span·class="id"·title="binder">r2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#r1:21"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:22"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#r1:21"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:22"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 233 | <br/> | 233 | <br/> | 
| 234 | </div> | 234 | </div> | 
| 235 | <div·class="doc"> | 235 | <div·class="doc"> | 
| 236 | <a·id="lab | 236 | <a·id="lab115"></a><h2·class="section">Relating·<span·class="inlinecode"><</span>,·<span·class="inlinecode">></span>,·<span·class="inlinecode"><=</span>·and·<span·class="inlinecode">>=</span></h2> | 
| 237 | <div·class="paragraph">·</div> | 237 | <div·class="paragraph">·</div> | 
| 238 | <a·id="lab | 238 | <a·id="lab116"></a><h3·class="section">Relating·strict·and·large·orders</h3> | 
| 239 | </div> | 239 | </div> | 
| 240 | <div·class="code"> | 240 | <div·class="code"> | 
| 241 | <br/> | 241 | <br/> | 
| 242 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_le"·class="idref"·href="#Rlt_le"><span·class="id"·title="lemma">Rlt_le</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:23"·class="idref"·href="#r1:23"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:24"·class="idref"·href="#r2:24"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:23"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:24"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:23"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:24"><span·class="id"·title="variable">r2</span></a>.<br/> | 242 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_le"·class="idref"·href="#Rlt_le"><span·class="id"·title="lemma">Rlt_le</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:23"·class="idref"·href="#r1:23"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:24"·class="idref"·href="#r2:24"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:23"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:24"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:23"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:24"><span·class="id"·title="variable">r2</span></a>.<br/> | 
| 243 | ·#[<span·class="id"·title="var">global</span>]<br/> | 243 | ·#[<span·class="id"·title="var">global</span>]<br/> | 
| Offset 344, 15 lines modified | Offset 344, 15 lines modified | ||
| 344 | ·#[<span·class="id"·title="var">global</span>]<br/> | 344 | ·#[<span·class="id"·title="var">global</span>]<br/> | 
| 345 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">Req_ge_sym</span>:·<span·class="id"·title="var">real</span>.<br/> | 345 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">Req_ge_sym</span>:·<span·class="id"·title="var">real</span>.<br/> | 
| 346 | <br/> | 346 | <br/> | 
| 347 | </div> | 347 | </div> | 
| 348 | <div·class="doc"> | 348 | <div·class="doc"> | 
| 349 | <a·id="lab | 349 | <a·id="lab117"></a><h3·class="section">Asymmetry</h3> | 
| 350 | <div·class="paragraph">·</div> | 350 | <div·class="paragraph">·</div> | 
| 351 | ·Remark:·<span·class="inlinecode"><span·class="id"·title="var">Rlt_asym</span></span>·is·in·<span·class="inlinecode"><span·class="id"·title="var">Raxioms.v</span></span>· | 351 | ·Remark:·<span·class="inlinecode"><span·class="id"·title="var">Rlt_asym</span></span>·is·in·<span·class="inlinecode"><span·class="id"·title="var">Raxioms.v</span></span>· | 
| 352 | </div> | 352 | </div> | 
| 353 | <div·class="code"> | 353 | <div·class="code"> | 
| Offset 365, 15 lines modified | Offset 365, 15 lines modified | ||
| 365 | <br/> | 365 | <br/> | 
| 366 | #[<span·class="id"·title="var">export</span>]·<span·class="id"·title="keyword">Instance</span>·<a·id="Rgt_Asymmetric"·class="idref"·href="#Rgt_Asymmetric"><span·class="id"·title="instance">Rgt_Asymmetric</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Asymmetric"><span·class="id"·title="class">Asymmetric</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#Rgt"><span·class="id"·title="definition">Rgt</span></a>·|·10·:=·<a·class="idref"·href="Coq.Reals.RIneq.html#Rgt_asym"><span·class="id"·title="lemma">Rgt_asym</span></a>.<br/> | 366 | #[<span·class="id"·title="var">export</span>]·<span·class="id"·title="keyword">Instance</span>·<a·id="Rgt_Asymmetric"·class="idref"·href="#Rgt_Asymmetric"><span·class="id"·title="instance">Rgt_Asymmetric</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Asymmetric"><span·class="id"·title="class">Asymmetric</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#Rgt"><span·class="id"·title="definition">Rgt</span></a>·|·10·:=·<a·class="idref"·href="Coq.Reals.RIneq.html#Rgt_asym"><span·class="id"·title="lemma">Rgt_asym</span></a>.<br/> | 
| 367 | <br/> | 367 | <br/> | 
| 368 | </div> | 368 | </div> | 
| 369 | <div·class="doc"> | 369 | <div·class="doc"> | 
| 370 | <a·id="lab | 370 | <a·id="lab118"></a><h3·class="section">Antisymmetry</h3> | 
| 371 | </div> | 371 | </div> | 
| 372 | <div·class="code"> | 372 | <div·class="code"> | 
| 373 | <br/> | 373 | <br/> | 
| 374 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rle_antisym"·class="idref"·href="#Rle_antisym"><span·class="id"·title="lemma">Rle_antisym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:73"·class="idref"·href="#r1:73"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:74"·class="idref"·href="#r2:74"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:73"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:74"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:74"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:73"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:73"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:74"><span·class="id"·title="variable">r2</span></a>.<br/> | 374 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rle_antisym"·class="idref"·href="#Rle_antisym"><span·class="id"·title="lemma">Rle_antisym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:73"·class="idref"·href="#r1:73"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:74"·class="idref"·href="#r2:74"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:73"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:74"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:74"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:73"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:73"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:74"><span·class="id"·title="variable">r2</span></a>.<br/> | 
| 375 | #[<span·class="id"·title="var">global</span>]<br/> | 375 | #[<span·class="id"·title="var">global</span>]<br/> | 
| Offset 394, 15 lines modified | Offset 394, 15 lines modified | ||
| 394 | <br/> | 394 | <br/> | 
| 395 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rge_ge_eq"·class="idref"·href="#Rge_ge_eq"><span·class="id"·title="lemma">Rge_ge_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:79"·class="idref"·href="#r1:79"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:80"·class="idref"·href="#r2:80"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:79"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:79"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:79"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>.<br/> | 395 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rge_ge_eq"·class="idref"·href="#Rge_ge_eq"><span·class="id"·title="lemma">Rge_ge_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:79"·class="idref"·href="#r1:79"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:80"·class="idref"·href="#r2:80"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:79"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:79"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:79"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>.<br/> | 
| 396 | <br/> | 396 | <br/> | 
| 397 | </div> | 397 | </div> | 
| 398 | <div·class="doc"> | 398 | <div·class="doc"> | 
| 399 | <a·id="lab | 399 | <a·id="lab119"></a><h3·class="section">Compatibility·with·equality</h3> | 
| 400 | </div> | 400 | </div> | 
| 401 | <div·class="code"> | 401 | <div·class="code"> | 
| 402 | <br/> | 402 | <br/> | 
| 403 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_eq_compat"·class="idref"·href="#Rlt_eq_compat"><span·class="id"·title="lemma">Rlt_eq_compat</span></a>·:<br/> | 403 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_eq_compat"·class="idref"·href="#Rlt_eq_compat"><span·class="id"·title="lemma">Rlt_eq_compat</span></a>·:<br/> | 
| 404 |   <span·class="id"·title="keyword">forall</span>·<a·id="r1:81"·class="idref"·href="#r1:81"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:82"·class="idref"·href="#r2:82"><span·class="id"·title="binder">r2</span></a>·<a·id="r3:83"·class="idref"·href="#r3:83"><span·class="id"·title="binder">r3</span></a>·<a·id="r4:84"·class="idref"·href="#r4:84"><span·class="id"·title="binder">r4</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:81"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:82"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:82"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r4:84"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r4:84"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:83"><span·class="id"·title="variable">r3</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:81"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:83"><span·class="id"·title="variable">r3</span></a>.<br/> | 404 |   <span·class="id"·title="keyword">forall</span>·<a·id="r1:81"·class="idref"·href="#r1:81"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:82"·class="idref"·href="#r2:82"><span·class="id"·title="binder">r2</span></a>·<a·id="r3:83"·class="idref"·href="#r3:83"><span·class="id"·title="binder">r3</span></a>·<a·id="r4:84"·class="idref"·href="#r4:84"><span·class="id"·title="binder">r4</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:81"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:82"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:82"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r4:84"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r4:84"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:83"><span·class="id"·title="variable">r3</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:81"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:83"><span·class="id"·title="variable">r3</span></a>.<br/> | 
| Offset 411, 15 lines modified | Offset 411, 15 lines modified | ||
| 411 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rgt_eq_compat"·class="idref"·href="#Rgt_eq_compat"><span·class="id"·title="lemma">Rgt_eq_compat</span></a>·:<br/> | 411 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rgt_eq_compat"·class="idref"·href="#Rgt_eq_compat"><span·class="id"·title="lemma">Rgt_eq_compat</span></a>·:<br/> | 
| 412 |   <span·class="id"·title="keyword">forall</span>·<a·id="r1:85"·class="idref"·href="#r1:85"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:86"·class="idref"·href="#r2:86"><span·class="id"·title="binder">r2</span></a>·<a·id="r3:87"·class="idref"·href="#r3:87"><span·class="id"·title="binder">r3</span></a>·<a·id="r4:88"·class="idref"·href="#r4:88"><span·class="id"·title="binder">r4</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:85"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:86"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:86"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r4:88"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r4:88"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:87"><span·class="id"·title="variable">r3</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:85"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:87"><span·class="id"·title="variable">r3</span></a>.<br/> | 412 |   <span·class="id"·title="keyword">forall</span>·<a·id="r1:85"·class="idref"·href="#r1:85"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:86"·class="idref"·href="#r2:86"><span·class="id"·title="binder">r2</span></a>·<a·id="r3:87"·class="idref"·href="#r3:87"><span·class="id"·title="binder">r3</span></a>·<a·id="r4:88"·class="idref"·href="#r4:88"><span·class="id"·title="binder">r4</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:85"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:86"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:86"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r4:88"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r4:88"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:87"><span·class="id"·title="variable">r3</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:85"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:87"><span·class="id"·title="variable">r3</span></a>.<br/> | 
| 413 | · | 413 | · | 
| 414 | <br/> | 414 | <br/> | 
| 415 | </div> | 415 | </div> | 
| 416 | <div·class="doc"> | 416 | <div·class="doc"> | 
| 417 | <a·id="lab | 417 | <a·id="lab120"></a><h3·class="section">Transitivity</h3> | 
| 418 | <div·class="paragraph">·</div> | 418 | <div·class="paragraph">·</div> | 
| 419 | ·Remark:·<span·class="inlinecode"><span·class="id"·title="var">Rlt_trans</span></span>·is·in·Raxioms· | 419 | ·Remark:·<span·class="inlinecode"><span·class="id"·title="var">Rlt_trans</span></span>·is·in·Raxioms· | 
| 420 | </div> | 420 | </div> | 
| 421 | <div·class="code"> | 421 | <div·class="code"> | 
| 422 | #[<span·class="id"·title="var">export</span>]·<span·class="id"·title="keyword">Instance</span>·<a·id="Rlt_Transitive"·class="idref"·href="#Rlt_Transitive"><span·class="id"·title="instance">Rlt_Transitive</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Transitive"><span·class="id"·title="class">Transitive</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.Rlt"><span·class="id"·title="axiom">Rlt</span></a>·|·10·:=·<a·class="idref"·href="Coq.Reals.Raxioms.html#Rlt_trans"><span·class="id"·title="lemma">Rlt_trans</span></a>.<br/> | 422 | #[<span·class="id"·title="var">export</span>]·<span·class="id"·title="keyword">Instance</span>·<a·id="Rlt_Transitive"·class="idref"·href="#Rlt_Transitive"><span·class="id"·title="instance">Rlt_Transitive</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Transitive"><span·class="id"·title="class">Transitive</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.Rlt"><span·class="id"·title="axiom">Rlt</span></a>·|·10·:=·<a·class="idref"·href="Coq.Reals.Raxioms.html#Rlt_trans"><span·class="id"·title="lemma">Rlt_trans</span></a>.<br/> | 
| Max diff block lines reached; 103617/120681 bytes (85.86%) of diff not shown. | |||
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <br/> | 51 | <br/> | 
| 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab54"></a><h1·class="section">DecidableType·structure·for·real·numbers</h1> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="code"> | 58 | <div·class="code"> | 
| 59 | <br/> | 59 | <br/> | 
| 60 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Req_dec"·class="idref"·href="#Req_dec"><span·class="id"·title="lemma">Req_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:1"·class="idref"·href="#r1:1"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:2"·class="idref"·href="#r2:2"><span·class="id"·title="binder">r2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.ROrderedType.html#r1:1"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#r2:2"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.ROrderedType.html#r1:1"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#r2:2"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 60 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Req_dec"·class="idref"·href="#Req_dec"><span·class="id"·title="lemma">Req_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:1"·class="idref"·href="#r1:1"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:2"·class="idref"·href="#r2:2"><span·class="id"·title="binder">r2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.ROrderedType.html#r1:1"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#r2:2"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.ROrderedType.html#r1:1"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#r2:2"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 
| Offset 86, 15 lines modified | Offset 86, 15 lines modified | ||
| 86 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· | 86 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· | 
| 87 | <div·class="paragraph">·</div> | 87 | <div·class="paragraph">·</div> | 
| 88 | ·Note·that·<span·class="inlinecode"><span·class="id"·title="var">R_as_DT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span> | 88 | ·Note·that·<span·class="inlinecode"><span·class="id"·title="var">R_as_DT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span> | 
| 89 | ····and·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableTypeOrig</span></span>.· | 89 | ····and·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableTypeOrig</span></span>.· | 
| 90 | <div·class="paragraph">·</div> | 90 | <div·class="paragraph">·</div> | 
| 91 | <a·id="lab | 91 | <a·id="lab55"></a><h1·class="section">OrderedType·structure·for·binary·integers</h1> | 
| 92 | </div> | 92 | </div> | 
| 93 | <div·class="code"> | 93 | <div·class="code"> | 
| 94 | <br/> | 94 | <br/> | 
| 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rcompare"·class="idref"·href="#Rcompare"><span·class="id"·title="definition">Rcompare</span></a>·<a·id="x:7"·class="idref"·href="#x:7"><span·class="id"·title="binder">x</span></a>·<a·id="y:8"·class="idref"·href="#y:8"><span·class="id"·title="binder">y</span></a>·:=<br/> | 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rcompare"·class="idref"·href="#Rcompare"><span·class="id"·title="definition">Rcompare</span></a>·<a·id="x:7"·class="idref"·href="#x:7"><span·class="id"·title="binder">x</span></a>·<a·id="y:8"·class="idref"·href="#y:8"><span·class="id"·title="binder">y</span></a>·:=<br/> | 
| 96 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#total_order_T"><span·class="id"·title="lemma">total_order_T</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#x:7"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#y:8"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 96 |  <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#total_order_T"><span·class="id"·title="lemma">total_order_T</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#x:7"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#y:8"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 134, 15 lines modified | Offset 134, 15 lines modified | ||
| 134 | </div> | 134 | </div> | 
| 135 | <div·class="doc"> | 135 | <div·class="doc"> | 
| 136 | Note·that·<span·class="inlinecode"><span·class="id"·title="var">R_as_OT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">UsualOrderedType</span></span> | 136 | Note·that·<span·class="inlinecode"><span·class="id"·title="var">R_as_OT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">UsualOrderedType</span></span> | 
| 137 | ···and·a·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·(and·also·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>).· | 137 | ···and·a·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·(and·also·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>).· | 
| 138 | <div·class="paragraph">·</div> | 138 | <div·class="paragraph">·</div> | 
| 139 | <a·id="lab | 139 | <a·id="lab56"></a><h1·class="section">An·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic·for·real·numbers</h1> | 
| 140 | </div> | 140 | </div> | 
| 141 | <div·class="code"> | 141 | <div·class="code"> | 
| 142 | <br/> | 142 | <br/> | 
| 143 | <span·class="id"·title="keyword">Module</span>·<a·id="ROrder"·class="idref"·href="#ROrder"><span·class="id"·title="module">ROrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#R_as_OT"><span·class="id"·title="module">R_as_OT</span></a>.<br/> | 143 | <span·class="id"·title="keyword">Module</span>·<a·id="ROrder"·class="idref"·href="#ROrder"><span·class="id"·title="module">ROrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#R_as_OT"><span·class="id"·title="module">R_as_OT</span></a>.<br/> | 
| 144 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">r_order</span>·:=·<span·class="id"·title="var">ROrder.order</span>.<br/> | 144 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">r_order</span>·:=·<span·class="id"·title="var">ROrder.order</span>.<br/> | 
| Offset 58, 15 lines modified | Offset 58, 15 lines modified | ||
| 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.micromega.Ztac.html#"><span·class="id"·title="library">Ztac</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.micromega.Ztac.html#"><span·class="id"·title="library">Ztac</span></a>.<br/> | 
| 59 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 59 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 60 | <br/> | 60 | <br/> | 
| 61 | </div> | 61 | </div> | 
| 62 | <div·class="doc"> | 62 | <div·class="doc"> | 
| 63 | <a·id="lab1 | 63 | <a·id="lab193"></a><h1·class="section">Fractional·part</h1> | 
| 64 | <div·class="paragraph">·</div> | 64 | <div·class="paragraph">·</div> | 
| 65 | </div> | 65 | </div> | 
| 66 | <div·class="code"> | 66 | <div·class="code"> | 
| 67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Int_part"·class="idref"·href="#Int_part"><span·class="id"·title="definition">Int_part</span></a>·(<a·id="r:1"·class="idref"·href="#r:1"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#up"><span·class="id"·title="definition">up</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:1"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·1)%<span·class="id"·title="var">Z</span>.<br/> | 67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Int_part"·class="idref"·href="#Int_part"><span·class="id"·title="definition">Int_part</span></a>·(<a·id="r:1"·class="idref"·href="#r:1"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#up"><span·class="id"·title="definition">up</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:1"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·1)%<span·class="id"·title="var">Z</span>.<br/> | 
| Offset 93, 15 lines modified | Offset 93, 15 lines modified | ||
| 93 | <br/> | 93 | <br/> | 
| 94 | <span·class="id"·title="keyword">Lemma</span>·<a·id="base_fp"·class="idref"·href="#base_fp"><span·class="id"·title="lemma">base_fp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:10"·class="idref"·href="#r:10"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.R_Ifp.html#frac_part"><span·class="id"·title="definition">frac_part</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:10"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#frac_part"><span·class="id"·title="definition">frac_part</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:10"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·1.<br/> | 94 | <span·class="id"·title="keyword">Lemma</span>·<a·id="base_fp"·class="idref"·href="#base_fp"><span·class="id"·title="lemma">base_fp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:10"·class="idref"·href="#r:10"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.R_Ifp.html#frac_part"><span·class="id"·title="definition">frac_part</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:10"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#frac_part"><span·class="id"·title="definition">frac_part</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:10"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·1.<br/> | 
| 95 | <br/> | 95 | <br/> | 
| 96 | </div> | 96 | </div> | 
| 97 | <div·class="doc"> | 97 | <div·class="doc"> | 
| 98 | <a·id="lab1 | 98 | <a·id="lab194"></a><h1·class="section">Properties</h1> | 
| 99 | <div·class="paragraph">·</div> | 99 | <div·class="paragraph">·</div> | 
| 100 | </div> | 100 | </div> | 
| 101 | <div·class="code"> | 101 | <div·class="code"> | 
| 102 | <span·class="id"·title="keyword">Lemma</span>·<a·id="base_Int_part"·class="idref"·href="#base_Int_part"><span·class="id"·title="lemma">base_Int_part</span></a>·:<br/> | 102 | <span·class="id"·title="keyword">Lemma</span>·<a·id="base_Int_part"·class="idref"·href="#base_Int_part"><span·class="id"·title="lemma">base_Int_part</span></a>·:<br/> | 
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Rsqrt_def.html#"><span·class="id"·title="library">Rsqrt_def</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Rsqrt_def.html#"><span·class="id"·title="library">Rsqrt_def</span></a>.<br/> | 
| 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab223"></a><h1·class="section">Continuous·extension·of·Rsqrt·on·R</h1> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="code"> | 58 | <div·class="code"> | 
| 59 | <span·class="id"·title="keyword">Definition</span>·<a·id="sqrt"·class="idref"·href="#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 59 | <span·class="id"·title="keyword">Definition</span>·<a·id="sqrt"·class="idref"·href="#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 
| 60 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rcase_abs"><span·class="id"·title="lemma">Rcase_abs</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 60 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rcase_abs"><span·class="id"·title="lemma">Rcase_abs</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| 61 |     |·<a·class="idref"·href="Coq.Init.Specif.html#left"><span·class="id"·title="constructor">left</span></a>·<span·class="id"·title="var">_</span>·=>·0<br/> | 61 |     |·<a·class="idref"·href="Coq.Init.Specif.html#left"><span·class="id"·title="constructor">left</span></a>·<span·class="id"·title="var">_</span>·=>·0<br/> | 
| 62 |     |·<a·class="idref"·href="Coq.Init.Specif.html#right"><span·class="id"·title="constructor">right</span></a>·<span·class="id"·title="var">a</span>·=>·<a·class="idref"·href="Coq.Reals.Rsqrt_def.html#Rsqrt"><span·class="id"·title="definition">Rsqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#mknonnegreal"><span·class="id"·title="constructor">mknonnegreal</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#x:1"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rge_le"><span·class="id"·title="lemma">Rge_le</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">a</span>))<br/> | 62 |     |·<a·class="idref"·href="Coq.Init.Specif.html#right"><span·class="id"·title="constructor">right</span></a>·<span·class="id"·title="var">a</span>·=>·<a·class="idref"·href="Coq.Reals.Rsqrt_def.html#Rsqrt"><span·class="id"·title="definition">Rsqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#mknonnegreal"><span·class="id"·title="constructor">mknonnegreal</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#x:1"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rge_le"><span·class="id"·title="lemma">Rge_le</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">a</span>))<br/> | 
| Offset 192, 15 lines modified | Offset 192, 15 lines modified | ||
| 192 |   <span·class="id"·title="keyword">forall</span>·<a·id="a:52"·class="idref"·href="#a:52"><span·class="id"·title="binder">a</span></a>·<a·id="b:53"·class="idref"·href="#b:53"><span·class="id"·title="binder">b</span></a>·<a·id="c:54"·class="idref"·href="#c:54"><span·class="id"·title="binder">c</span></a>·<a·id="d:55"·class="idref"·href="#d:55"><span·class="id"·title="binder">d</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 192 |   <span·class="id"·title="keyword">forall</span>·<a·id="a:52"·class="idref"·href="#a:52"><span·class="id"·title="binder">a</span></a>·<a·id="b:53"·class="idref"·href="#b:53"><span·class="id"·title="binder">b</span></a>·<a·id="c:54"·class="idref"·href="#c:54"><span·class="id"·title="binder">c</span></a>·<a·id="d:55"·class="idref"·href="#d:55"><span·class="id"·title="binder">d</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 
| 193 |     <a·class="idref"·href="Coq.Reals.R_sqrt.html#a:52"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#c:54"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#b:53"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#d:55"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#a:52"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#b:53"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#c:54"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#d:55"><span·class="id"·title="variable">d</span></a>).<br/> | 193 |     <a·class="idref"·href="Coq.Reals.R_sqrt.html#a:52"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#c:54"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#b:53"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#d:55"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#a:52"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#b:53"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#c:54"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#d:55"><span·class="id"·title="variable">d</span></a>).<br/> | 
| 194 | <br/> | 194 | <br/> | 
| 195 | </div> | 195 | </div> | 
| 196 | <div·class="doc"> | 196 | <div·class="doc"> | 
| 197 | <a·id="lab | 197 | <a·id="lab224"></a><h1·class="section">Resolution·of·<span·class="inlinecode"><span·class="id"·title="var">a</span>*<span·class="id"·title="var">X</span>^2+<span·class="id"·title="var">b</span>*<span·class="id"·title="var">X</span>+<span·class="id"·title="var">c</span>=0</span></h1> | 
| 198 | </div> | 198 | </div> | 
| 199 | <div·class="code"> | 199 | <div·class="code"> | 
| 200 | <br/> | 200 | <br/> | 
| 201 | <span·class="id"·title="keyword">Definition</span>·<a·id="Delta"·class="idref"·href="#Delta"><span·class="id"·title="definition">Delta</span></a>·(<a·id="a:56"·class="idref"·href="#a:56"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#nonzeroreal"><span·class="id"·title="record">nonzeroreal</span></a>)·(<a·id="b:57"·class="idref"·href="#b:57"><span·class="id"·title="binder">b</span></a>·<a·id="c:58"·class="idref"·href="#c:58"><span·class="id"·title="binder">c</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#b:57"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·4·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#a:56"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#c:58"><span·class="id"·title="variable">c</span></a>.<br/> | 201 | <span·class="id"·title="keyword">Definition</span>·<a·id="Delta"·class="idref"·href="#Delta"><span·class="id"·title="definition">Delta</span></a>·(<a·id="a:56"·class="idref"·href="#a:56"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#nonzeroreal"><span·class="id"·title="record">nonzeroreal</span></a>)·(<a·id="b:57"·class="idref"·href="#b:57"><span·class="id"·title="binder">b</span></a>·<a·id="c:58"·class="idref"·href="#c:58"><span·class="id"·title="binder">c</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#b:57"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·4·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#a:56"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#c:58"><span·class="id"·title="variable">c</span></a>.<br/> | 
| Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
| 53 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 53 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 54 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">f</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">f</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> | 
| 55 | <br/> | 55 | <br/> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="doc"> | 57 | <div·class="doc"> | 
| 58 | <a·id="lab | 58 | <a·id="lab60"></a><h1·class="section">Basic·operations·on·functions</h1> | 
| 59 | </div> | 59 | </div> | 
| 60 | <div·class="code"> | 60 | <div·class="code"> | 
| 61 | <span·class="id"·title="keyword">Definition</span>·<a·id="plus_fct"·class="idref"·href="#plus_fct"><span·class="id"·title="definition">plus_fct</span></a>·<a·id="f1:1"·class="idref"·href="#f1:1"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:2"·class="idref"·href="#f2:2"><span·class="id"·title="binder">f2</span></a>·(<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:1"><span·class="id"·title="variable">f1</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:2"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:3"><span·class="id"·title="variable">x</span></a>.<br/> | 61 | <span·class="id"·title="keyword">Definition</span>·<a·id="plus_fct"·class="idref"·href="#plus_fct"><span·class="id"·title="definition">plus_fct</span></a>·<a·id="f1:1"·class="idref"·href="#f1:1"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:2"·class="idref"·href="#f2:2"><span·class="id"·title="binder">f2</span></a>·(<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:1"><span·class="id"·title="variable">f1</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:2"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:3"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 62 | <span·class="id"·title="keyword">Definition</span>·<a·id="opp_fct"·class="idref"·href="#opp_fct"><span·class="id"·title="definition">opp_fct</span></a>·<a·id="f:4"·class="idref"·href="#f:4"><span·class="id"·title="binder">f</span></a>·(<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:4"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Definition</span>·<a·id="opp_fct"·class="idref"·href="#opp_fct"><span·class="id"·title="definition">opp_fct</span></a>·<a·id="f:4"·class="idref"·href="#f:4"><span·class="id"·title="binder">f</span></a>·(<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:4"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 63 | <span·class="id"·title="keyword">Definition</span>·<a·id="mult_fct"·class="idref"·href="#mult_fct"><span·class="id"·title="definition">mult_fct</span></a>·<a·id="f1:6"·class="idref"·href="#f1:6"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:7"·class="idref"·href="#f2:7"><span·class="id"·title="binder">f2</span></a>·(<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:6"><span·class="id"·title="variable">f1</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:8"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:7"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:8"><span·class="id"·title="variable">x</span></a>.<br/> | 63 | <span·class="id"·title="keyword">Definition</span>·<a·id="mult_fct"·class="idref"·href="#mult_fct"><span·class="id"·title="definition">mult_fct</span></a>·<a·id="f1:6"·class="idref"·href="#f1:6"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:7"·class="idref"·href="#f2:7"><span·class="id"·title="binder">f2</span></a>·(<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:6"><span·class="id"·title="variable">f1</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:8"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:7"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:8"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 64 | <span·class="id"·title="keyword">Definition</span>·<a·id="mult_real_fct"·class="idref"·href="#mult_real_fct"><span·class="id"·title="definition">mult_real_fct</span></a>·(<a·id="a:9"·class="idref"·href="#a:9"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·<a·id="f:10"·class="idref"·href="#f:10"><span·class="id"·title="binder">f</span></a>·(<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:9"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:10"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:11"><span·class="id"·title="variable">x</span></a>.<br/> | 64 | <span·class="id"·title="keyword">Definition</span>·<a·id="mult_real_fct"·class="idref"·href="#mult_real_fct"><span·class="id"·title="definition">mult_real_fct</span></a>·(<a·id="a:9"·class="idref"·href="#a:9"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·<a·id="f:10"·class="idref"·href="#f:10"><span·class="id"·title="binder">f</span></a>·(<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:9"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:10"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:11"><span·class="id"·title="variable">x</span></a>.<br/> | 
| Offset 102, 15 lines modified | Offset 102, 15 lines modified | ||
| 102 | <span·class="id"·title="keyword">Definition</span>·<a·id="fct_cte"·class="idref"·href="#fct_cte"><span·class="id"·title="definition">fct_cte</span></a>·(<a·id="a:28"·class="idref"·href="#a:28"><span·class="id"·title="binder">a</span></a>·<a·id="x:29"·class="idref"·href="#x:29"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:28"><span·class="id"·title="variable">a</span></a>.<br/> | 102 | <span·class="id"·title="keyword">Definition</span>·<a·id="fct_cte"·class="idref"·href="#fct_cte"><span·class="id"·title="definition">fct_cte</span></a>·(<a·id="a:28"·class="idref"·href="#a:28"><span·class="id"·title="binder">a</span></a>·<a·id="x:29"·class="idref"·href="#x:29"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:28"><span·class="id"·title="variable">a</span></a>.<br/> | 
| 103 | <span·class="id"·title="keyword">Definition</span>·<a·id="id"·class="idref"·href="#id"><span·class="id"·title="definition">id</span></a>·(<a·id="x:30"·class="idref"·href="#x:30"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:30"><span·class="id"·title="variable">x</span></a>.<br/> | 103 | <span·class="id"·title="keyword">Definition</span>·<a·id="id"·class="idref"·href="#id"><span·class="id"·title="definition">id</span></a>·(<a·id="x:30"·class="idref"·href="#x:30"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:30"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 104 | <br/> | 104 | <br/> | 
| 105 | </div> | 105 | </div> | 
| 106 | <div·class="doc"> | 106 | <div·class="doc"> | 
| 107 | <a·id="lab | 107 | <a·id="lab61"></a><h1·class="section">Variations·of·functions</h1> | 
| 108 | </div> | 108 | </div> | 
| 109 | <div·class="code"> | 109 | <div·class="code"> | 
| 110 | <span·class="id"·title="keyword">Definition</span>·<a·id="increasing"·class="idref"·href="#increasing"><span·class="id"·title="definition">increasing</span></a>·<a·id="f:31"·class="idref"·href="#f:31"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:32"·class="idref"·href="#x:32"><span·class="id"·title="binder">x</span></a>·<a·id="y:33"·class="idref"·href="#y:33"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:32"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:33"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:31"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:32"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:31"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:33"><span·class="id"·title="variable">y</span></a>.<br/> | 110 | <span·class="id"·title="keyword">Definition</span>·<a·id="increasing"·class="idref"·href="#increasing"><span·class="id"·title="definition">increasing</span></a>·<a·id="f:31"·class="idref"·href="#f:31"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:32"·class="idref"·href="#x:32"><span·class="id"·title="binder">x</span></a>·<a·id="y:33"·class="idref"·href="#y:33"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:32"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:33"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:31"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:32"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:31"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:33"><span·class="id"·title="variable">y</span></a>.<br/> | 
| 111 | <span·class="id"·title="keyword">Definition</span>·<a·id="decreasing"·class="idref"·href="#decreasing"><span·class="id"·title="definition">decreasing</span></a>·<a·id="f:34"·class="idref"·href="#f:34"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:35"·class="idref"·href="#x:35"><span·class="id"·title="binder">x</span></a>·<a·id="y:36"·class="idref"·href="#y:36"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:35"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:36"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:34"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:36"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:34"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:35"><span·class="id"·title="variable">x</span></a>.<br/> | 111 | <span·class="id"·title="keyword">Definition</span>·<a·id="decreasing"·class="idref"·href="#decreasing"><span·class="id"·title="definition">decreasing</span></a>·<a·id="f:34"·class="idref"·href="#f:34"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:35"·class="idref"·href="#x:35"><span·class="id"·title="binder">x</span></a>·<a·id="y:36"·class="idref"·href="#y:36"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:35"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:36"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:34"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:36"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:34"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:35"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 112 | <span·class="id"·title="keyword">Definition</span>·<a·id="strict_increasing"·class="idref"·href="#strict_increasing"><span·class="id"·title="definition">strict_increasing</span></a>·<a·id="f:37"·class="idref"·href="#f:37"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:38"·class="idref"·href="#x:38"><span·class="id"·title="binder">x</span></a>·<a·id="y:39"·class="idref"·href="#y:39"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:38"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:39"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:38"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:39"><span·class="id"·title="variable">y</span></a>.<br/> | 112 | <span·class="id"·title="keyword">Definition</span>·<a·id="strict_increasing"·class="idref"·href="#strict_increasing"><span·class="id"·title="definition">strict_increasing</span></a>·<a·id="f:37"·class="idref"·href="#f:37"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:38"·class="idref"·href="#x:38"><span·class="id"·title="binder">x</span></a>·<a·id="y:39"·class="idref"·href="#y:39"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:38"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:39"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:38"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:39"><span·class="id"·title="variable">y</span></a>.<br/> | 
| 113 | <span·class="id"·title="keyword">Definition</span>·<a·id="strict_decreasing"·class="idref"·href="#strict_decreasing"><span·class="id"·title="definition">strict_decreasing</span></a>·<a·id="f:40"·class="idref"·href="#f:40"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:41"·class="idref"·href="#x:41"><span·class="id"·title="binder">x</span></a>·<a·id="y:42"·class="idref"·href="#y:42"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:41"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:42"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:40"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:42"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:40"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:41"><span·class="id"·title="variable">x</span></a>.<br/> | 113 | <span·class="id"·title="keyword">Definition</span>·<a·id="strict_decreasing"·class="idref"·href="#strict_decreasing"><span·class="id"·title="definition">strict_decreasing</span></a>·<a·id="f:40"·class="idref"·href="#f:40"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:41"·class="idref"·href="#x:41"><span·class="id"·title="binder">x</span></a>·<a·id="y:42"·class="idref"·href="#y:42"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:41"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:42"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:40"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:42"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:40"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:41"><span·class="id"·title="variable">x</span></a>.<br/> | 
| Offset 123, 15 lines modified | Offset 123, 15 lines modified | ||
| 123 | <span·class="id"·title="keyword">Definition</span>·<a·id="constant_D_eq"·class="idref"·href="#constant_D_eq"><span·class="id"·title="definition">constant_D_eq</span></a>·<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</span></a>·(<a·id="D:48"·class="idref"·href="#D:48"><span·class="id"·title="binder">D</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="c:49"·class="idref"·href="#c:49"><span·class="id"·title="binder">c</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 123 | <span·class="id"·title="keyword">Definition</span>·<a·id="constant_D_eq"·class="idref"·href="#constant_D_eq"><span·class="id"·title="definition">constant_D_eq</span></a>·<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</span></a>·(<a·id="D:48"·class="idref"·href="#D:48"><span·class="id"·title="binder">D</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="c:49"·class="idref"·href="#c:49"><span·class="id"·title="binder">c</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 124 |   <span·class="id"·title="keyword">forall</span>·<a·id="x:50"·class="idref"·href="#x:50"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#D:48"><span·class="id"·title="variable">D</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:50"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:50"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#c:49"><span·class="id"·title="variable">c</span></a>.<br/> | 124 |   <span·class="id"·title="keyword">forall</span>·<a·id="x:50"·class="idref"·href="#x:50"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#D:48"><span·class="id"·title="variable">D</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:50"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:50"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#c:49"><span·class="id"·title="variable">c</span></a>.<br/> | 
| 125 | <br/> | 125 | <br/> | 
| 126 | </div> | 126 | </div> | 
| 127 | <div·class="doc"> | 127 | <div·class="doc"> | 
| 128 | <a·id="lab | 128 | <a·id="lab62"></a><h1·class="section">Definition·of·continuity·as·a·limit</h1> | 
| 129 | <div·class="paragraph">·</div> | 129 | <div·class="paragraph">·</div> | 
| 130 | </div> | 130 | </div> | 
| 131 | <div·class="code"> | 131 | <div·class="code"> | 
| 132 | <span·class="id"·title="keyword">Definition</span>·<a·id="continuity_pt"·class="idref"·href="#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·id="f:51"·class="idref"·href="#f:51"><span·class="id"·title="binder">f</span></a>·(<a·id="x0:52"·class="idref"·href="#x0:52"><span·class="id"·title="binder">x0</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.Rderiv.html#continue_in"><span·class="id"·title="definition">continue_in</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#no_cond"><span·class="id"·title="definition">no_cond</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x0:52"><span·class="id"·title="variable">x0</span></a>.<br/> | 132 | <span·class="id"·title="keyword">Definition</span>·<a·id="continuity_pt"·class="idref"·href="#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·id="f:51"·class="idref"·href="#f:51"><span·class="id"·title="binder">f</span></a>·(<a·id="x0:52"·class="idref"·href="#x0:52"><span·class="id"·title="binder">x0</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.Rderiv.html#continue_in"><span·class="id"·title="definition">continue_in</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#no_cond"><span·class="id"·title="definition">no_cond</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x0:52"><span·class="id"·title="variable">x0</span></a>.<br/> | 
| Offset 227, 15 lines modified | Offset 227, 15 lines modified | ||
| 227 | <span·class="id"·title="keyword">Lemma</span>·<a·id="continuity_comp"·class="idref"·href="#continuity_comp"><span·class="id"·title="lemma">continuity_comp</span></a>·:<br/> | 227 | <span·class="id"·title="keyword">Lemma</span>·<a·id="continuity_comp"·class="idref"·href="#continuity_comp"><span·class="id"·title="lemma">continuity_comp</span></a>·:<br/> | 
| 228 |   <span·class="id"·title="keyword">forall</span>·<a·id="f1:109"·class="idref"·href="#f1:109"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:110"·class="idref"·href="#f2:110"><span·class="id"·title="binder">f2</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:109"><span·class="id"·title="variable">f1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:110"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:110"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#::Rfun_scope:x_'o'_x"><span·class="id"·title="notation">o</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:109"><span·class="id"·title="variable">f1</span></a>).<br/> | 228 |   <span·class="id"·title="keyword">forall</span>·<a·id="f1:109"·class="idref"·href="#f1:109"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:110"·class="idref"·href="#f2:110"><span·class="id"·title="binder">f2</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:109"><span·class="id"·title="variable">f1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:110"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:110"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#::Rfun_scope:x_'o'_x"><span·class="id"·title="notation">o</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:109"><span·class="id"·title="variable">f1</span></a>).<br/> | 
| 229 | <br/> | 229 | <br/> | 
| 230 | </div> | 230 | </div> | 
| 231 | <div·class="doc"> | 231 | <div·class="doc"> | 
| 232 | <a·id="lab | 232 | <a·id="lab63"></a><h1·class="section">Derivative's·definition·using·Landau's·kernel</h1> | 
| 233 | </div> | 233 | </div> | 
| 234 | <div·class="code"> | 234 | <div·class="code"> | 
| 235 | <br/> | 235 | <br/> | 
| 236 | <span·class="id"·title="keyword">Definition</span>·<a·id="derivable_pt_lim"·class="idref"·href="#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·id="f:111"·class="idref"·href="#f:111"><span·class="id"·title="binder">f</span></a>·(<a·id="x:112"·class="idref"·href="#x:112"><span·class="id"·title="binder">x</span></a>·<a·id="l:113"·class="idref"·href="#l:113"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 236 | <span·class="id"·title="keyword">Definition</span>·<a·id="derivable_pt_lim"·class="idref"·href="#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·id="f:111"·class="idref"·href="#f:111"><span·class="id"·title="binder">f</span></a>·(<a·id="x:112"·class="idref"·href="#x:112"><span·class="id"·title="binder">x</span></a>·<a·id="l:113"·class="idref"·href="#l:113"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 237 |   <span·class="id"·title="keyword">forall</span>·<a·id="eps:114"·class="idref"·href="#eps:114"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 237 |   <span·class="id"·title="keyword">forall</span>·<a·id="eps:114"·class="idref"·href="#eps:114"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 
| Offset 267, 15 lines modified | Offset 267, 15 lines modified | ||
| 267 | <span·class="id"·title="keyword">Definition</span>·<a·id="antiderivative"·class="idref"·href="#antiderivative"><span·class="id"·title="definition">antiderivative</span></a>·<a·id="f:131"·class="idref"·href="#f:131"><span·class="id"·title="binder">f</span></a>·(<a·id="g:132"·class="idref"·href="#g:132"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="a:133"·class="idref"·href="#a:133"><span·class="id"·title="binder">a</span></a>·<a·id="b:134"·class="idref"·href="#b:134"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 267 | <span·class="id"·title="keyword">Definition</span>·<a·id="antiderivative"·class="idref"·href="#antiderivative"><span·class="id"·title="definition">antiderivative</span></a>·<a·id="f:131"·class="idref"·href="#f:131"><span·class="id"·title="binder">f</span></a>·(<a·id="g:132"·class="idref"·href="#g:132"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="a:133"·class="idref"·href="#a:133"><span·class="id"·title="binder">a</span></a>·<a·id="b:134"·class="idref"·href="#b:134"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 268 |   <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:135"·class="idref"·href="#x:135"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 268 |   <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:135"·class="idref"·href="#x:135"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 
| 269 |     <a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:133"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:134"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>··<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="pr:136"·class="idref"·href="#pr:136"><span·class="id"·title="binder">pr</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:132"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:131"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:132"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:136"><span·class="id"·title="variable">pr</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 269 |     <a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:133"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:134"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>··<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="pr:136"·class="idref"·href="#pr:136"><span·class="id"·title="binder">pr</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:132"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:131"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:132"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:136"><span·class="id"·title="variable">pr</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 
| 270 |   <a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:133"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:134"><span·class="id"·title="variable">b</span></a>.<br/> | 270 |   <a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:133"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:134"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 271 | </div> | 271 | </div> | 
| 272 | <div·class="doc"> | 272 | <div·class="doc"> | 
| 273 | <a·id="lab | 273 | <a·id="lab64"></a><h1·class="section">Class·of·differential·functions</h1> | 
| 274 | </div> | 274 | </div> | 
| 275 | <div·class="code"> | 275 | <div·class="code"> | 
| 276 | <span·class="id"·title="keyword">Record</span>·<a·id="Differential"·class="idref"·href="#Differential"><span·class="id"·title="record">Differential</span></a>·:·<span·class="id"·title="keyword">Type</span>·:=·<span·class="id"·title="var">mkDifferential</span><br/> | 276 | <span·class="id"·title="keyword">Record</span>·<a·id="Differential"·class="idref"·href="#Differential"><span·class="id"·title="record">Differential</span></a>·:·<span·class="id"·title="keyword">Type</span>·:=·<span·class="id"·title="var">mkDifferential</span><br/> | 
| 277 |   {<a·id="d1"·class="idref"·href="#d1"><span·class="id"·title="projection">d1</span></a>·:>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>;·<a·id="cond_diff"·class="idref"·href="#cond_diff"><span·class="id"·title="projection">cond_diff</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable"><span·class="id"·title="definition">derivable</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#d1:138"><span·class="id"·title="method">d1</span></a>}.<br/> | 277 |   {<a·id="d1"·class="idref"·href="#d1"><span·class="id"·title="projection">d1</span></a>·:>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>;·<a·id="cond_diff"·class="idref"·href="#cond_diff"><span·class="id"·title="projection">cond_diff</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable"><span·class="id"·title="definition">derivable</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#d1:138"><span·class="id"·title="method">d1</span></a>}.<br/> | 
| 278 | <br/> | 278 | <br/> | 
| Offset 323, 15 lines modified | Offset 323, 15 lines modified | ||
| 323 |   <span·class="id"·title="keyword">forall</span>·<a·id="f:178"·class="idref"·href="#f:178"><span·class="id"·title="binder">f</span></a>·(<a·id="x:179"·class="idref"·href="#x:179"><span·class="id"·title="binder">x</span></a>·<a·id="l:180"·class="idref"·href="#l:180"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="pr:181"·class="idref"·href="#pr:181"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>),<br/> | 323 |   <span·class="id"·title="keyword">forall</span>·<a·id="f:178"·class="idref"·href="#f:178"><span·class="id"·title="binder">f</span></a>·(<a·id="x:179"·class="idref"·href="#x:179"><span·class="id"·title="binder">x</span></a>·<a·id="l:180"·class="idref"·href="#l:180"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="pr:181"·class="idref"·href="#pr:181"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>),<br/> | 
| 324 |     <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:181"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:180"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:180"><span·class="id"·title="variable">l</span></a>.<br/> | 324 |     <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:181"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:180"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:180"><span·class="id"·title="variable">l</span></a>.<br/> | 
| 325 | <br/> | 325 | <br/> | 
| 326 | </div> | 326 | </div> | 
| 327 | <div·class="doc"> | 327 | <div·class="doc"> | 
| 328 | <a·id="lab | 328 | <a·id="lab65"></a><h1·class="section">Equivalence·of·this·definition·with·the·one·using·limit·concept</h1> | 
| 329 | </div> | 329 | </div> | 
| 330 | <div·class="code"> | 330 | <div·class="code"> | 
| 331 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derive_pt_D_in"·class="idref"·href="#derive_pt_D_in"><span·class="id"·title="lemma">derive_pt_D_in</span></a>·:<br/> | 331 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derive_pt_D_in"·class="idref"·href="#derive_pt_D_in"><span·class="id"·title="lemma">derive_pt_D_in</span></a>·:<br/> | 
| 332 |   <span·class="id"·title="keyword">forall</span>·<a·id="f:182"·class="idref"·href="#f:182"><span·class="id"·title="binder">f</span></a>·(<a·id="df:183"·class="idref"·href="#df:183"><span·class="id"·title="binder">df</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="x:184"·class="idref"·href="#x:184"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="pr:185"·class="idref"·href="#pr:185"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>),<br/> | 332 |   <span·class="id"·title="keyword">forall</span>·<a·id="f:182"·class="idref"·href="#f:182"><span·class="id"·title="binder">f</span></a>·(<a·id="df:183"·class="idref"·href="#df:183"><span·class="id"·title="binder">df</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="x:184"·class="idref"·href="#x:184"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="pr:185"·class="idref"·href="#pr:185"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>),<br/> | 
| 333 |     <a·class="idref"·href="Coq.Reals.Rderiv.html#D_in"><span·class="id"·title="definition">D_in</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#df:183"><span·class="id"·title="variable">df</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#no_cond"><span·class="id"·title="definition">no_cond</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:185"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#df:183"><span·class="id"·title="variable">df</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>.<br/> | 333 |     <a·class="idref"·href="Coq.Reals.Rderiv.html#D_in"><span·class="id"·title="definition">D_in</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#df:183"><span·class="id"·title="variable">df</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#no_cond"><span·class="id"·title="definition">no_cond</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:185"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#df:183"><span·class="id"·title="variable">df</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>.<br/> | 
| Offset 354, 15 lines modified | Offset 354, 15 lines modified | ||
| 354 |   <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="z:200"·class="idref"·href="#z:200"><span·class="id"·title="binder">z</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:197"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:198"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:194"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:195"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 354 |   <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="z:200"·class="idref"·href="#z:200"><span·class="id"·title="binder">z</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:197"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:198"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:194"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:195"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 355 |   <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:194"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:196"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:199"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:195"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:196"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:199"><span·class="id"·title="variable">l</span></a>.<br/> | 355 |   <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:194"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:196"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:199"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:195"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:196"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:199"><span·class="id"·title="variable">l</span></a>.<br/> | 
| 356 | <br/> | 356 | <br/> | 
| 357 | </div> | 357 | </div> | 
| 358 | <div·class="doc"> | 358 | <div·class="doc"> | 
| 359 | <a·id="lab | 359 | <a·id="lab66"></a><h1·class="section">derivability·->·continuity</h1> | 
| 360 | </div> | 360 | </div> | 
| 361 | <div·class="code"> | 361 | <div·class="code"> | 
| 362 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derivable_derive"·class="idref"·href="#derivable_derive"><span·class="id"·title="lemma">derivable_derive</span></a>·:<br/> | 362 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derivable_derive"·class="idref"·href="#derivable_derive"><span·class="id"·title="lemma">derivable_derive</span></a>·:<br/> | 
| 363 |   <span·class="id"·title="keyword">forall</span>·<a·id="f:201"·class="idref"·href="#f:201"><span·class="id"·title="binder">f</span></a>·(<a·id="x:202"·class="idref"·href="#x:202"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="pr:203"·class="idref"·href="#pr:203"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:202"><span·class="id"·title="variable">x</span></a>),··<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="l:204"·class="idref"·href="#l:204"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:202"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:203"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:204"><span·class="id"·title="variable">l</span></a>.<br/> | 363 |   <span·class="id"·title="keyword">forall</span>·<a·id="f:201"·class="idref"·href="#f:201"><span·class="id"·title="binder">f</span></a>·(<a·id="x:202"·class="idref"·href="#x:202"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="pr:203"·class="idref"·href="#pr:203"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:202"><span·class="id"·title="variable">x</span></a>),··<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="l:204"·class="idref"·href="#l:204"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:202"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:203"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:204"><span·class="id"·title="variable">l</span></a>.<br/> | 
| 364 | <br/> | 364 | <br/> | 
| Offset 372, 19 lines modified | Offset 372, 19 lines modified | ||
| 372 | <br/> | 372 | <br/> | 
| 373 | <span·class="id"·title="keyword">Theorem</span>·<a·id="derivable_continuous"·class="idref"·href="#derivable_continuous"><span·class="id"·title="lemma">derivable_continuous</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="f:207"·class="idref"·href="#f:207"><span·class="id"·title="binder">f</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable"><span·class="id"·title="definition">derivable</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:207"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:207"><span·class="id"·title="variable">f</span></a>.<br/> | 373 | <span·class="id"·title="keyword">Theorem</span>·<a·id="derivable_continuous"·class="idref"·href="#derivable_continuous"><span·class="id"·title="lemma">derivable_continuous</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="f:207"·class="idref"·href="#f:207"><span·class="id"·title="binder">f</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable"><span·class="id"·title="definition">derivable</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:207"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:207"><span·class="id"·title="variable">f</span></a>.<br/> | 
| 374 | <br/> | 374 | <br/> | 
| 375 | </div> | 375 | </div> | 
| 376 | <div·class="doc"> | 376 | <div·class="doc"> | 
| 377 | <a·id="lab | 377 | <a·id="lab67"></a><h1·class="section">Main·rules</h1> | 
| 378 | <div·class="paragraph">·</div> | 378 | <div·class="paragraph">·</div> | 
| 379 | <a·id="lab | 379 | <a·id="lab68"></a><h2·class="section">Rules·for·derivable_pt_lim·(value·of·the·derivative·at·a·point)</h2> | 
| 380 | </div> | 380 | </div> | 
| 381 | <div·class="code"> | 381 | <div·class="code"> | 
| Max diff block lines reached; 16645/52958 bytes (31.43%) of diff not shown. | |||
| Offset 59, 15 lines modified | Offset 59, 15 lines modified | ||
| 59 | <br/> | 59 | <br/> | 
| 60 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">rorders</span>·<span·class="id"·title="var">real</span>.<br/> | 60 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">rorders</span>·<span·class="id"·title="var">real</span>.<br/> | 
| 61 | <br/> | 61 | <br/> | 
| 62 | </div> | 62 | </div> | 
| 63 | <div·class="doc"> | 63 | <div·class="doc"> | 
| 64 | <a·id="lab1 | 64 | <a·id="lab178"></a><h1·class="section">Preliminaries·lemmas</h1> | 
| 65 | </div> | 65 | </div> | 
| 66 | <div·class="code"> | 66 | <div·class="code"> | 
| 67 | <br/> | 67 | <br/> | 
| 68 | <span·class="id"·title="keyword">Lemma</span>·<a·id="f_incr_implies_g_incr_interv"·class="idref"·href="#f_incr_implies_g_incr_interv"><span·class="id"·title="lemma">f_incr_implies_g_incr_interv</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="f:1"·class="idref"·href="#f:1"><span·class="id"·title="binder">f</span></a>·<a·id="g:2"·class="idref"·href="#g:2"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<span·class="id"·title="keyword">forall</span>·<a·id="lb:3"·class="idref"·href="#lb:3"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:4"·class="idref"·href="#ub:4"><span·class="id"·title="binder">ub</span></a>,<br/> | 68 | <span·class="id"·title="keyword">Lemma</span>·<a·id="f_incr_implies_g_incr_interv"·class="idref"·href="#f_incr_implies_g_incr_interv"><span·class="id"·title="lemma">f_incr_implies_g_incr_interv</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="f:1"·class="idref"·href="#f:1"><span·class="id"·title="binder">f</span></a>·<a·id="g:2"·class="idref"·href="#g:2"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<span·class="id"·title="keyword">forall</span>·<a·id="lb:3"·class="idref"·href="#lb:3"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:4"·class="idref"·href="#ub:4"><span·class="id"·title="binder">ub</span></a>,<br/> | 
| 69 |        <a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:3"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:4"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 69 |        <a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:3"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:4"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| Offset 135, 19 lines modified | Offset 135, 19 lines modified | ||
| 135 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:166"·class="idref"·href="#x:166"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:163"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>··<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:166"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:164"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:162"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:166"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 135 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:166"·class="idref"·href="#x:166"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:163"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>··<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:166"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:164"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:162"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:166"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 136 |     <a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">{</span></a><a·id="x:167"·class="idref"·href="#x:167"><span·class="id"·title="binder">x</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:163"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:167"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:164"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:162"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:167"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:165"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">}</span></a>.<br/> | 136 |     <a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">{</span></a><a·id="x:167"·class="idref"·href="#x:167"><span·class="id"·title="binder">x</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:163"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:167"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:164"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:162"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:167"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:165"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 137 | <br/> | 137 | <br/> | 
| 138 | </div> | 138 | </div> | 
| 139 | <div·class="doc"> | 139 | <div·class="doc"> | 
| 140 | <a·id="lab1 | 140 | <a·id="lab179"></a><h2·class="section">The·derivative·of·a·reciprocal·function</h2> | 
| 141 | <div·class="paragraph">·</div> | 141 | <div·class="paragraph">·</div> | 
| 142 | <a·id="lab1 | 142 | <a·id="lab180"></a><h1·class="section">Continuity·of·the·reciprocal·function</h1> | 
| 143 | </div> | 143 | </div> | 
| 144 | <div·class="code"> | 144 | <div·class="code"> | 
| 145 | <br/> | 145 | <br/> | 
| 146 | <span·class="id"·title="keyword">Lemma</span>·<a·id="continuity_pt_recip_prelim"·class="idref"·href="#continuity_pt_recip_prelim"><span·class="id"·title="lemma">continuity_pt_recip_prelim</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:178"·class="idref"·href="#f:178"><span·class="id"·title="binder">f</span></a>·<a·id="g:179"·class="idref"·href="#g:179"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="lb:180"·class="idref"·href="#lb:180"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:181"·class="idref"·href="#ub:181"><span·class="id"·title="binder">ub</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="Pr1:182"·class="idref"·href="#Pr1:182"><span·class="id"·title="binder">Pr1</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:180"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:181"><span·class="id"·title="variable">ub</span></a>),<br/> | 146 | <span·class="id"·title="keyword">Lemma</span>·<a·id="continuity_pt_recip_prelim"·class="idref"·href="#continuity_pt_recip_prelim"><span·class="id"·title="lemma">continuity_pt_recip_prelim</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:178"·class="idref"·href="#f:178"><span·class="id"·title="binder">f</span></a>·<a·id="g:179"·class="idref"·href="#g:179"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="lb:180"·class="idref"·href="#lb:180"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:181"·class="idref"·href="#ub:181"><span·class="id"·title="binder">ub</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="Pr1:182"·class="idref"·href="#Pr1:182"><span·class="id"·title="binder">Pr1</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:180"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:181"><span·class="id"·title="variable">ub</span></a>),<br/> | 
| 147 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:183"·class="idref"·href="#x:183"><span·class="id"·title="binder">x</span></a>·<a·id="y:184"·class="idref"·href="#y:184"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:180"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:183"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:183"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:184"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:184"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:181"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:183"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:184"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 147 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:183"·class="idref"·href="#x:183"><span·class="id"·title="binder">x</span></a>·<a·id="y:184"·class="idref"·href="#y:184"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:180"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:183"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:183"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:184"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:184"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:181"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:183"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:184"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| Offset 167, 15 lines modified | Offset 167, 15 lines modified | ||
| 167 |        <a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:242"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:244"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#b:252"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:242"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:245"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 167 |        <a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:242"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:244"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#b:252"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:242"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:245"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 168 |        <a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:243"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#b:252"><span·class="id"·title="variable">b</span></a>.<br/> | 168 |        <a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:243"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#b:252"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 169 | <br/> | 169 | <br/> | 
| 170 | </div> | 170 | </div> | 
| 171 | <div·class="doc"> | 171 | <div·class="doc"> | 
| 172 | <a·id="lab1 | 172 | <a·id="lab181"></a><h1·class="section">Derivability·of·the·reciprocal·function</h1> | 
| 173 | </div> | 173 | </div> | 
| 174 | <div·class="code"> | 174 | <div·class="code"> | 
| 175 | <br/> | 175 | <br/> | 
| 176 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derivable_pt_lim_recip_interv"·class="idref"·href="#derivable_pt_lim_recip_interv"><span·class="id"·title="lemma">derivable_pt_lim_recip_interv</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:255"·class="idref"·href="#f:255"><span·class="id"·title="binder">f</span></a>·<a·id="g:256"·class="idref"·href="#g:256"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="lb:257"·class="idref"·href="#lb:257"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:258"·class="idref"·href="#ub:258"><span·class="id"·title="binder">ub</span></a>·<a·id="x:259"·class="idref"·href="#x:259"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)<br/> | 176 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derivable_pt_lim_recip_interv"·class="idref"·href="#derivable_pt_lim_recip_interv"><span·class="id"·title="lemma">derivable_pt_lim_recip_interv</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:255"·class="idref"·href="#f:255"><span·class="id"·title="binder">f</span></a>·<a·id="g:256"·class="idref"·href="#g:256"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="lb:257"·class="idref"·href="#lb:257"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:258"·class="idref"·href="#ub:258"><span·class="id"·title="binder">ub</span></a>·<a·id="x:259"·class="idref"·href="#x:259"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)<br/> | 
| 177 |                                         (<a·id="Prf:261"·class="idref"·href="#Prf:261"><span·class="id"·title="binder">Prf</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="a:260"·class="idref"·href="#a:260"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:257"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#a:260"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:258"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:255"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#a:260"><span·class="id"·title="variable">a</span></a>)·(<a·id="Prg:262"·class="idref"·href="#Prg:262"><span·class="id"·title="binder">Prg</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:259"><span·class="id"·title="variable">x</span></a>),<br/> | 177 |                                         (<a·id="Prf:261"·class="idref"·href="#Prf:261"><span·class="id"·title="binder">Prf</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="a:260"·class="idref"·href="#a:260"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:257"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#a:260"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:258"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:255"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#a:260"><span·class="id"·title="variable">a</span></a>)·(<a·id="Prg:262"·class="idref"·href="#Prg:262"><span·class="id"·title="binder">Prg</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:259"><span·class="id"·title="variable">x</span></a>),<br/> | 
| Offset 241, 15 lines modified | Offset 241, 15 lines modified | ||
| 241 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 241 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 242 |     <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:341"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:344"><span·class="id"·title="variable">x</span></a>.<br/> | 242 |     <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:341"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:344"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 243 | <br/> | 243 | <br/> | 
| 244 | </div> | 244 | </div> | 
| 245 | <div·class="doc"> | 245 | <div·class="doc"> | 
| 246 | <a·id="lab1 | 246 | <a·id="lab182"></a><h1·class="section">Value·of·the·derivative·of·the·reciprocal·function</h1> | 
| 247 | </div> | 247 | </div> | 
| 248 | <div·class="code"> | 248 | <div·class="code"> | 
| 249 | <br/> | 249 | <br/> | 
| 250 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derive_pt_recip_interv_prelim0"·class="idref"·href="#derive_pt_recip_interv_prelim0"><span·class="id"·title="lemma">derive_pt_recip_interv_prelim0</span></a>·(<a·id="f:356"·class="idref"·href="#f:356"><span·class="id"·title="binder">f</span></a>·<a·id="g:357"·class="idref"·href="#g:357"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="lb:358"·class="idref"·href="#lb:358"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:359"·class="idref"·href="#ub:359"><span·class="id"·title="binder">ub</span></a>·<a·id="x:360"·class="idref"·href="#x:360"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)<br/> | 250 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derive_pt_recip_interv_prelim0"·class="idref"·href="#derive_pt_recip_interv_prelim0"><span·class="id"·title="lemma">derive_pt_recip_interv_prelim0</span></a>·(<a·id="f:356"·class="idref"·href="#f:356"><span·class="id"·title="binder">f</span></a>·<a·id="g:357"·class="idref"·href="#g:357"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="lb:358"·class="idref"·href="#lb:358"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:359"·class="idref"·href="#ub:359"><span·class="id"·title="binder">ub</span></a>·<a·id="x:360"·class="idref"·href="#x:360"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)<br/> | 
| 251 |       (<a·id="Prf:361"·class="idref"·href="#Prf:361"><span·class="id"·title="binder">Prf</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:356"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:357"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:360"><span·class="id"·title="variable">x</span></a>))·(<a·id="Prg:362"·class="idref"·href="#Prg:362"><span·class="id"·title="binder">Prg</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:357"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:360"><span·class="id"·title="variable">x</span></a>)<br/> | 251 |       (<a·id="Prf:361"·class="idref"·href="#Prf:361"><span·class="id"·title="binder">Prf</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:356"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:357"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:360"><span·class="id"·title="variable">x</span></a>))·(<a·id="Prg:362"·class="idref"·href="#Prg:362"><span·class="id"·title="binder">Prg</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:357"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:360"><span·class="id"·title="variable">x</span></a>)<br/> | 
| Offset 317, 15 lines modified | Offset 317, 15 lines modified | ||
| 317 |        1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:408"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#Prf:421"><span·class="id"·title="variable">Prf</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#derive_pt_recip_interv_prelim1_1_decr"><span·class="id"·title="lemma">derive_pt_recip_interv_prelim1_1_decr</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:408"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:410"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:411"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a><br/> | 317 |        1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:408"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#Prf:421"><span·class="id"·title="variable">Prf</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#derive_pt_recip_interv_prelim1_1_decr"><span·class="id"·title="lemma">derive_pt_recip_interv_prelim1_1_decr</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:408"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:410"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:411"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a><br/> | 
| 318 |        <a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb_lt_ub:413"><span·class="id"·title="variable">lb_lt_ub</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x_encad:414"><span·class="id"·title="variable">x_encad</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f_decr:417"><span·class="id"·title="variable">f_decr</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g_wf:419"><span·class="id"·title="variable">g_wf</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f_eq_g:423"><span·class="id"·title="variable">f_eq_g</span></a>))<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>.<br/> | 318 |        <a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb_lt_ub:413"><span·class="id"·title="variable">lb_lt_ub</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x_encad:414"><span·class="id"·title="variable">x_encad</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f_decr:417"><span·class="id"·title="variable">f_decr</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g_wf:419"><span·class="id"·title="variable">g_wf</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f_eq_g:423"><span·class="id"·title="variable">f_eq_g</span></a>))<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 319 | <br/> | 319 | <br/> | 
| 320 | </div> | 320 | </div> | 
| 321 | <div·class="doc"> | 321 | <div·class="doc"> | 
| 322 | <a·id="lab1 | 322 | <a·id="lab183"></a><h1·class="section">Existence·of·the·derivative·of·a·function·which·is·the·limit·of·a·sequence·of·functions</h1> | 
| 323 | </div> | 323 | </div> | 
| 324 | <div·class="code"> | 324 | <div·class="code"> | 
| 325 | <br/> | 325 | <br/> | 
| 326 | <br/> | 326 | <br/> | 
| Offset 311, 21 lines modified | Offset 311, 21 lines modified | ||
| 00001360:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | 00001360:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
| 00001370:·7661·7222·3e72·6561·6c3c·2f73·7061·6e3e··var">real</span> | 00001370:·7661·7222·3e72·6561·6c3c·2f73·7061·6e3e··var">real</span> | ||
| 00001380:·203c·7370·616e·2063·6c61·7373·3d22·6964···<span·class="id | 00001380:·203c·7370·616e·2063·6c61·7373·3d22·6964···<span·class="id | ||
| 00001390:·2220·7469·746c·653d·2276·6172·223e·6172··"·title="var">ar | 00001390:·2220·7469·746c·653d·2276·6172·223e·6172··"·title="var">ar | ||
| 000013a0:·6974·683c·2f73·7061·6e3e·2e3c·6272·2f3e··ith</span>.<br/> | 000013a0:·6974·683c·2f73·7061·6e3e·2e3c·6272·2f3e··ith</span>.<br/> | ||
| 000013b0:·0a0a·3c62·722f·3e0a·3c2f·6469·763e·0a0a··..<br/>.</div>.. | 000013b0:·0a0a·3c62·722f·3e0a·3c2f·6469·763e·0a0a··..<br/>.</div>.. | ||
| 000013c0:·3c64·6976·2063·6c61·7373·3d22·646f·6322··<div·class="doc" | 000013c0:·3c64·6976·2063·6c61·7373·3d22·646f·6322··<div·class="doc" | ||
| 000013d0:·3e0a·3c61·2069·643d·226c·6162·313 | 000013d0:·3e0a·3c61·2069·643d·226c·6162·3139·3522··>.<a·id="lab195" | ||
| 000013e0:·3e3c·2f61·3e3c·6831·2063·6c61·7373·3d22··></a><h1·class=" | 000013e0:·3e3c·2f61·3e3c·6831·2063·6c61·7373·3d22··></a><h1·class=" | ||
| 000013f0:·7365·6374·696f·6e22·3e50·7265·6c69·6d69··section">Prelimi | 000013f0:·7365·6374·696f·6e22·3e50·7265·6c69·6d69··section">Prelimi | ||
| 00001400:·6e61·7269·6573·3c2f·6831·3e0a·0a3c·6469··naries</h1>..<di | 00001400:·6e61·7269·6573·3c2f·6831·3e0a·0a3c·6469··naries</h1>..<di | ||
| 00001410:·7620·636c·6173·733d·2270·6172·6167·7261··v·class="paragra | 00001410:·7620·636c·6173·733d·2270·6172·6167·7261··v·class="paragra | ||
| 00001420:·7068·223e·203c·2f64·6976·3e0a·0a3c·6120··ph">·</div>..<a· | 00001420:·7068·223e·203c·2f64·6976·3e0a·0a3c·6120··ph">·</div>..<a· | ||
| 00001430:·6964·3d22·6c61·6231·3 | 00001430:·6964·3d22·6c61·6231·3936·223e·3c2f·613e··id="lab196"></a> | ||
| 00001440:·3c68·3220·636c·6173·733d·2273·6563·7469··<h2·class="secti | 00001440:·3c68·3220·636c·6173·733d·2273·6563·7469··<h2·class="secti | ||
| 00001450:·6f6e·223e·5661·7269·6f75·7320·6765·6e65··on">Various·gene | 00001450:·6f6e·223e·5661·7269·6f75·7320·6765·6e65··on">Various·gene | ||
| 00001460:·7269·6320·6c65·6d6d·6173·2077·6869·6368··ric·lemmas·which | 00001460:·7269·6320·6c65·6d6d·6173·2077·6869·6368··ric·lemmas·which | ||
| 00001470:·2070·726f·6261·626c·7920·7368·6f75·6c64···probably·should | 00001470:·2070·726f·6261·626c·7920·7368·6f75·6c64···probably·should | ||
| 00001480:·2067·6f20·736f·6d65·7768·6572·6520·656c···go·somewhere·el | 00001480:·2067·6f20·736f·6d65·7768·6572·6520·656c···go·somewhere·el | ||
| 00001490:·7365·3c2f·6832·3e0a·0a3c·2f64·6976·3e0a··se</h2>..</div>. | 00001490:·7365·3c2f·6832·3e0a·0a3c·2f64·6976·3e0a··se</h2>..</div>. | ||
| 000014a0:·3c64·6976·2063·6c61·7373·3d22·636f·6465··<div·class="code | 000014a0:·3c64·6976·2063·6c61·7373·3d22·636f·6465··<div·class="code | ||
| Offset 1613, 21 lines modified | Offset 1613, 21 lines modified | ||
| 000064c0:·6334·3833·3731·6430·3737·3037·223e·3c73··c48371d07707"><s | 000064c0:·6334·3833·3731·6430·3737·3037·223e·3c73··c48371d07707"><s | ||
| 000064d0:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | 000064d0:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
| 000064e0:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | 000064e0:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | ||
| 000064f0:·5e3c·2f73·7061·6e3e·3c2f·613e·322e·3c62··^</span></a>2.<b | 000064f0:·5e3c·2f73·7061·6e3e·3c2f·613e·322e·3c62··^</span></a>2.<b | ||
| 00006500:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | 00006500:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | ||
| 00006510:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | 00006510:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | ||
| 00006520:·6f63·223e·0a3c·6120·6964·3d22·6c61·6231··oc">.<a·id="lab1 | 00006520:·6f63·223e·0a3c·6120·6964·3d22·6c61·6231··oc">.<a·id="lab1 | ||
| 00006530:·3 | 00006530:·3937·223e·3c2f·613e·3c68·3220·636c·6173··97"></a><h2·clas | ||
| 00006540:·733d·2273·6563·7469·6f6e·223e·5072·6f70··s="section">Prop | 00006540:·733d·2273·6563·7469·6f6e·223e·5072·6f70··s="section">Prop | ||
| 00006550:·6572·7469·6573·206f·6620·7461·6e67·656e··erties·of·tangen | 00006550:·6572·7469·6573·206f·6620·7461·6e67·656e··erties·of·tangen | ||
| 00006560:·743c·2f68·323e·0a0a·3c64·6976·2063·6c61··t</h2>..<div·cla | 00006560:·743c·2f68·323e·0a0a·3c64·6976·2063·6c61··t</h2>..<div·cla | ||
| 00006570:·7373·3d22·7061·7261·6772·6170·6822·3e20··ss="paragraph">· | 00006570:·7373·3d22·7061·7261·6772·6170·6822·3e20··ss="paragraph">· | ||
| 00006580:·3c2f·6469·763e·0a0a·3c61·2069·643d·226c··</div>..<a·id="l | 00006580:·3c2f·6469·763e·0a0a·3c61·2069·643d·226c··</div>..<a·id="l | ||
| 00006590:·6162·313 | 00006590:·6162·3139·3822·3e3c·2f61·3e3c·6833·2063··ab198"></a><h3·c | ||
| 000065a0:·6c61·7373·3d22·7365·6374·696f·6e22·3e44··lass="section">D | 000065a0:·6c61·7373·3d22·7365·6374·696f·6e22·3e44··lass="section">D | ||
| 000065b0:·6572·6976·6174·6976·6520·6f66·2074·616e··erivative·of·tan | 000065b0:·6572·6976·6174·6976·6520·6f66·2074·616e··erivative·of·tan | ||
| 000065c0:·6765·6e74·3c2f·6833·3e0a·0a3c·2f64·6976··gent</h3>..</div | 000065c0:·6765·6e74·3c2f·6833·3e0a·0a3c·2f64·6976··gent</h3>..</div | ||
| 000065d0:·3e0a·3c64·6976·2063·6c61·7373·3d22·636f··>.<div·class="co | 000065d0:·3e0a·3c64·6976·2063·6c61·7373·3d22·636f··>.<div·class="co | ||
| 000065e0:·6465·223e·0a0a·3c62·722f·3e0a·3c73·7061··de">..<br/>.<spa | 000065e0:·6465·223e·0a0a·3c62·722f·3e0a·3c73·7061··de">..<br/>.<spa | ||
| 000065f0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | 000065f0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
| 00006600:·6c65·3d22·6b65·7977·6f72·6422·3e4c·656d··le="keyword">Lem | 00006600:·6c65·3d22·6b65·7977·6f72·6422·3e4c·656d··le="keyword">Lem | ||
| Offset 1907, 15 lines modified | Offset 1907, 15 lines modified | ||
| 00007720:·6334·3833·3731·6430·3737·3037·223e·3c73··c48371d07707"><s | 00007720:·6334·3833·3731·6430·3737·3037·223e·3c73··c48371d07707"><s | ||
| 00007730:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | 00007730:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
| 00007740:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | 00007740:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | ||
| 00007750:·295e·3c2f·7370·616e·3e3c·2f61·3e32·2e3c··)^</span></a>2.< | 00007750:·295e·3c2f·7370·616e·3e3c·2f61·3e32·2e3c··)^</span></a>2.< | ||
| 00007760:·6272·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469··br/>..<br/>.</di | 00007760:·6272·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469··br/>..<br/>.</di | ||
| 00007770:·763e·0a0a·3c64·6976·2063·6c61·7373·3d22··v>..<div·class=" | 00007770:·763e·0a0a·3c64·6976·2063·6c61·7373·3d22··v>..<div·class=" | ||
| 00007780:·646f·6322·3e0a·3c61·2069·643d·226c·6162··doc">.<a·id="lab | 00007780:·646f·6322·3e0a·3c61·2069·643d·226c·6162··doc">.<a·id="lab | ||
| 00007790:·313 | 00007790:·3139·3922·3e3c·2f61·3e3c·6833·2063·6c61··199"></a><h3·cla | ||
| 000077a0:·7373·3d22·7365·6374·696f·6e22·3e50·726f··ss="section">Pro | 000077a0:·7373·3d22·7365·6374·696f·6e22·3e50·726f··ss="section">Pro | ||
| 000077b0:·6f66·2074·6861·7420·7461·6e67·656e·7420··of·that·tangent· | 000077b0:·6f66·2074·6861·7420·7461·6e67·656e·7420··of·that·tangent· | ||
| 000077c0:·6973·2061·2062·696a·6563·7469·6f6e·3c2f··is·a·bijection</ | 000077c0:·6973·2061·2062·696a·6563·7469·6f6e·3c2f··is·a·bijection</ | ||
| 000077d0:·6833·3e0a·0a3c·2f64·6976·3e0a·3c64·6976··h3>..</div>.<div | 000077d0:·6833·3e0a·0a3c·2f64·6976·3e0a·3c64·6976··h3>..</div>.<div | ||
| 000077e0:·2063·6c61·7373·3d22·636f·6465·223e·0a0a···class="code">.. | 000077e0:·2063·6c61·7373·3d22·636f·6465·223e·0a0a···class="code">.. | ||
| 000077f0:·3c62·722f·3e0a·0a3c·6272·2f3e·0a3c·7370··<br/>..<br/>.<sp | 000077f0:·3c62·722f·3e0a·0a3c·6272·2f3e·0a3c·7370··<br/>..<br/>.<sp | ||
| 00007800:·616e·2063·6c61·7373·3d22·6964·2220·7469··an·class="id"·ti | 00007800:·616e·2063·6c61·7373·3d22·6964·2220·7469··an·class="id"·ti | ||
| Offset 3260, 22 lines modified | Offset 3260, 22 lines modified | ||
| 0000cbb0:·3238·6538·3336·6162·3065·3931·6561·3765··28e836ab0e91ea7e | 0000cbb0:·3238·6538·3336·6162·3065·3931·6561·3765··28e836ab0e91ea7e | ||
| 0000cbc0:·3934·3266·6230·3965·3839·3866·223e·3c73··942fb09e898f"><s | 0000cbc0:·3934·3266·6230·3965·3839·3866·223e·3c73··942fb09e898f"><s | ||
| 0000cbd0:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | 0000cbd0:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
| 0000cbe0:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | 0000cbe0:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | ||
| 0000cbf0:·7d3c·2f73·7061·6e3e·3c2f·613e·2e3c·6272··}</span></a>.<br | 0000cbf0:·7d3c·2f73·7061·6e3e·3c2f·613e·2e3c·6272··}</span></a>.<br | ||
| 0000cc00:·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469·763e··/>..<br/>.</div> | 0000cc00:·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469·763e··/>..<br/>.</div> | ||
| 0000cc10:·0a0a·3c64·6976·2063·6c61·7373·3d22·646f··..<div·class="do | 0000cc10:·0a0a·3c64·6976·2063·6c61·7373·3d22·646f··..<div·class="do | ||
| 0000cc20:·6322·3e0a·3c61·2069·643d·226c·6162·3 | 0000cc20:·6322·3e0a·3c61·2069·643d·226c·6162·3230··c">.<a·id="lab20 | ||
| 0000cc30:·3 | 0000cc30:·3022·3e3c·2f61·3e3c·6831·2063·6c61·7373··0"></a><h1·class | ||
| 0000cc40:·3d22·7365·6374·696f·6e22·3e44·6566·696e··="section">Defin | 0000cc40:·3d22·7365·6374·696f·6e22·3e44·6566·696e··="section">Defin | ||
| 0000cc50:·6974·696f·6e20·6f66·2061·7263·7461·6e67··ition·of·arctang | 0000cc50:·6974·696f·6e20·6f66·2061·7263·7461·6e67··ition·of·arctang | ||
| 0000cc60:·656e·743c·2f68·313e·0a0a·3c64·6976·2063··ent</h1>..<div·c | 0000cc60:·656e·743c·2f68·313e·0a0a·3c64·6976·2063··ent</h1>..<div·c | ||
| 0000cc70:·6c61·7373·3d22·7061·7261·6772·6170·6822··lass="paragraph" | 0000cc70:·6c61·7373·3d22·7061·7261·6772·6170·6822··lass="paragraph" | ||
| 0000cc80:·3e20·3c2f·6469·763e·0a0a·3c61·2069·643d··>·</div>..<a·id= | 0000cc80:·3e20·3c2f·6469·763e·0a0a·3c61·2069·643d··>·</div>..<a·id= | ||
| 0000cc90:·226c·6162·3 | 0000cc90:·226c·6162·3230·3122·3e3c·2f61·3e3c·6832··"lab201"></a><h2 | ||
| 0000cca0:·2063·6c61·7373·3d22·7365·6374·696f·6e22···class="section" | 0000cca0:·2063·6c61·7373·3d22·7365·6374·696f·6e22···class="section" | ||
| 0000ccb0:·3e44·6566·696e·6974·696f·6e20·6f66·2061··>Definition·of·a | 0000ccb0:·3e44·6566·696e·6974·696f·6e20·6f66·2061··>Definition·of·a | ||
| 0000ccc0:·7263·7461·6e67·656e·7420·6173·2074·6865··rctangent·as·the | 0000ccc0:·7263·7461·6e67·656e·7420·6173·2074·6865··rctangent·as·the | ||
| 0000ccd0:·2072·6563·6970·726f·6361·6c20·6675·6e63···reciprocal·func | 0000ccd0:·2072·6563·6970·726f·6361·6c20·6675·6e63···reciprocal·func | ||
| 0000cce0:·7469·6f6e·206f·6620·7461·6e67·656e·7420··tion·of·tangent· | 0000cce0:·7469·6f6e·206f·6620·7461·6e67·656e·7420··tion·of·tangent· | ||
| 0000ccf0:·616e·6420·7072·6f6f·6620·6f66·2074·6869··and·proof·of·thi | 0000ccf0:·616e·6420·7072·6f6f·6620·6f66·2074·6869··and·proof·of·thi | ||
| 0000cd00:·7320·7374·6174·7573·3c2f·6832·3e0a·0a3c··s·status</h2>..< | 0000cd00:·7320·7374·6174·7573·3c2f·6832·3e0a·0a3c··s·status</h2>..< | ||
| Offset 4682, 16 lines modified | Offset 4682, 16 lines modified | ||
| 00012490:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | 00012490:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | ||
| 000124a0:·6172·6961·626c·6522·3e78·3c2f·7370·616e··ariable">x</span | 000124a0:·6172·6961·626c·6522·3e78·3c2f·7370·616e··ariable">x</span | ||
| 000124b0:·3e3c·2f61·3e29·253c·7370·616e·2063·6c61··></a>)%<span·cla | 000124b0:·3e3c·2f61·3e29·253c·7370·616e·2063·6c61··></a>)%<span·cla | ||
| 000124c0:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | 000124c0:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | ||
| 000124d0:·6172·223e·523c·2f73·7061·6e3e·2e3c·6272··ar">R</span>.<br | 000124d0:·6172·223e·523c·2f73·7061·6e3e·2e3c·6272··ar">R</span>.<br | ||
| 000124e0:·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469·763e··/>..<br/>.</div> | 000124e0:·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469·763e··/>..<br/>.</div> | ||
| 000124f0:·0a0a·3c64·6976·2063·6c61·7373·3d22·646f··..<div·class="do | 000124f0:·0a0a·3c64·6976·2063·6c61·7373·3d22·646f··..<div·class="do | ||
| 00012500:·6322·3e0a·3c61·2069·643d·226c·6162·3 | 00012500:·6322·3e0a·3c61·2069·643d·226c·6162·3230··c">.<a·id="lab20 | ||
| 00012510:·3 | 00012510:·3222·3e3c·2f61·3e3c·6832·2063·6c61·7373··2"></a><h2·class | ||
| 00012520:·3d22·7365·6374·696f·6e22·3e44·6572·6976··="section">Deriv | 00012520:·3d22·7365·6374·696f·6e22·3e44·6572·6976··="section">Deriv | ||
| 00012530:·6174·6976·6520·6f66·2061·7263·7461·6e67··ative·of·arctang | 00012530:·6174·6976·6520·6f66·2061·7263·7461·6e67··ative·of·arctang | ||
| 00012540:·656e·743c·2f68·323e·0a0a·3c2f·6469·763e··ent</h2>..</div> | 00012540:·656e·743c·2f68·323e·0a0a·3c2f·6469·763e··ent</h2>..</div> | ||
| 00012550:·0a3c·6469·7620·636c·6173·733d·2263·6f64··.<div·class="cod | 00012550:·0a3c·6469·7620·636c·6173·733d·2263·6f64··.<div·class="cod | ||
| 00012560:·6522·3e0a·0a3c·6272·2f3e·0a3c·7370·616e··e">..<br/>.<span | 00012560:·6522·3e0a·0a3c·6272·2f3e·0a3c·7370·616e··e">..<br/>.<span | ||
| 00012570:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | 00012570:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | ||
| 00012580:·653d·226b·6579·776f·7264·223e·4c65·6d6d··e="keyword">Lemm | 00012580:·653d·226b·6579·776f·7264·223e·4c65·6d6d··e="keyword">Lemm | ||
| Offset 4890, 15 lines modified | Offset 4890, 15 lines modified | ||
| 00013190:·6331·6239·3534·3839·6430·6636·6533·6122··c1b95489d0f6e3a" | 00013190:·6331·6239·3534·3839·6430·6636·6533·6122··c1b95489d0f6e3a" | ||
| 000131a0:·3e3c·7370·616e·2063·6c61·7373·3d22·6964··><span·class="id | 000131a0:·3e3c·7370·616e·2063·6c61·7373·3d22·6964··><span·class="id | ||
| 000131b0:·2220·7469·746c·653d·226e·6f74·6174·696f··"·title="notatio | 000131b0:·2220·7469·746c·653d·226e·6f74·6174·696f··"·title="notatio | ||
| 000131c0:·6e22·3e29·3c2f·7370·616e·3e3c·2f61·3e29··n">)</span></a>) | 000131c0:·6e22·3e29·3c2f·7370·616e·3e3c·2f61·3e29··n">)</span></a>) | ||
| 000131d0:·2e3c·6272·2f3e·0a0a·3c62·722f·3e0a·3c2f··.<br/>..<br/>.</ | 000131d0:·2e3c·6272·2f3e·0a0a·3c62·722f·3e0a·3c2f··.<br/>..<br/>.</ | ||
| 000131e0:·6469·763e·0a0a·3c64·6976·2063·6c61·7373··div>..<div·class | 000131e0:·6469·763e·0a0a·3c64·6976·2063·6c61·7373··div>..<div·class | ||
| 000131f0:·3d22·646f·6322·3e0a·3c61·2069·643d·226c··="doc">.<a·id="l | 000131f0:·3d22·646f·6322·3e0a·3c61·2069·643d·226c··="doc">.<a·id="l | ||
| 00013200:·6162·3 | 00013200:·6162·3230·3322·3e3c·2f61·3e3c·6832·2063··ab203"></a><h2·c | ||
| 00013210:·6c61·7373·3d22·7365·6374·696f·6e22·3e44··lass="section">D | 00013210:·6c61·7373·3d22·7365·6374·696f·6e22·3e44··lass="section">D | ||
| 00013220:·6566·696e·6974·696f·6e20·6f66·2074·6865··efinition·of·the | 00013220:·6566·696e·6974·696f·6e20·6f66·2074·6865··efinition·of·the | ||
| 00013230:·2061·7263·7461·6e67·656e·7420·6675·6e63···arctangent·func | 00013230:·2061·7263·7461·6e67·656e·7420·6675·6e63···arctangent·func | ||
| 00013240:·7469·6f6e·2061·7320·7468·6520·7375·6d20··tion·as·the·sum· | 00013240:·7469·6f6e·2061·7320·7468·6520·7375·6d20··tion·as·the·sum· | ||
| 00013250:·6f66·2074·6865·2061·7263·7461·6e20·706f··of·the·arctan·po | 00013250:·6f66·2074·6865·2061·7263·7461·6e20·706f··of·the·arctan·po | ||
| 00013260:·7765·7220·7365·7269·6573·3c2f·6832·3e0a··wer·series</h2>. | 00013260:·7765·7220·7365·7269·6573·3c2f·6832·3e0a··wer·series</h2>. | ||
| 00013270:·0a3c·2f64·6976·3e0a·3c64·6976·2063·6c61··.</div>.<div·cla | 00013270:·0a3c·2f64·6976·3e0a·3c64·6976·2063·6c61··.</div>.<div·cla | ||
| Offset 5917, 15 lines modified | Offset 5917, 15 lines modified | ||
| 000171c0:·3e78·3c2f·7370·616e·3e3c·2f61·3e3c·6272··>x</span></a><br | 000171c0:·3e78·3c2f·7370·616e·3e3c·2f61·3e3c·6272··>x</span></a><br | ||
| 000171d0:·2f3e·0a26·6e62·7370·3b3c·7370·616e·2063··/>. <span·c | 000171d0:·2f3e·0a26·6e62·7370·3b3c·7370·616e·2063··/>. <span·c | ||
| 000171e0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | 000171e0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
| 000171f0:·226b·6579·776f·7264·223e·656e·643c·2f73··"keyword">end</s | 000171f0:·226b·6579·776f·7264·223e·656e·643c·2f73··"keyword">end</s | ||
| 00017200:·7061·6e3e·2e3c·6272·2f3e·0a0a·3c62·722f··pan>.<br/>..<br/ | 00017200:·7061·6e3e·2e3c·6272·2f3e·0a0a·3c62·722f··pan>.<br/>..<br/ | ||
| 00017210:·3e0a·3c2f·6469·763e·0a0a·3c64·6976·2063··>.</div>..<div·c | 00017210:·3e0a·3c2f·6469·763e·0a0a·3c64·6976·2063··>.</div>..<div·c | ||
| 00017220:·6c61·7373·3d22·646f·6322·3e0a·3c61·2069··lass="doc">.<a·i | 00017220:·6c61·7373·3d22·646f·6322·3e0a·3c61·2069··lass="doc">.<a·i | ||
| 00017230:·643d·226c·6162·3 | 00017230:·643d·226c·6162·3230·3422·3e3c·2f61·3e3c··d="lab204"></a>< | ||
| 00017240:·6832·2063·6c61·7373·3d22·7365·6374·696f··h2·class="sectio | 00017240:·6832·2063·6c61·7373·3d22·7365·6374·696f··h2·class="sectio | ||
| 00017250:·6e22·3e50·726f·6f66·206f·6620·7468·6520··n">Proof·of·the· | 00017250:·6e22·3e50·726f·6f66·206f·6620·7468·6520··n">Proof·of·the· | ||
| 00017260:·6571·7569·7661·6c65·6e63·6520·6f66·2074··equivalence·of·t | 00017260:·6571·7569·7661·6c65·6e63·6520·6f66·2074··equivalence·of·t | ||
| Max diff block lines reached; 17423/26835 bytes (64.93%) of diff not shown. | |||
| Offset 65, 19 lines modified | Offset 65, 19 lines modified | ||
| 65 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#"><span·class="id"·title="library">Rdefinitions</span></a>.<br/> | 65 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#"><span·class="id"·title="library">Rdefinitions</span></a>.<br/> | 
| 66 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 66 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 67 | <br/> | 67 | <br/> | 
| 68 | </div> | 68 | </div> | 
| 69 | <div·class="doc"> | 69 | <div·class="doc"> | 
| 70 | <a·id="lab | 70 | <a·id="lab45"></a><h1·class="section">Field·operations</h1> | 
| 71 | <div·class="paragraph">·</div> | 71 | <div·class="paragraph">·</div> | 
| 72 | <a·id="lab | 72 | <a·id="lab46"></a><h2·class="section">Addition</h2> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="code"> | 74 | <div·class="code"> | 
| 75 | <br/> | 75 | <br/> | 
| 76 | <span·class="id"·title="keyword">Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">CReal_scope</span>.<br/> | 76 | <span·class="id"·title="keyword">Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">CReal_scope</span>.<br/> | 
| Offset 137, 15 lines modified | Offset 137, 15 lines modified | ||
| 137 | #[<span·class="id"·title="var">global</span>]<br/> | 137 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 138 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rplus_0_l</span>:·<span·class="id"·title="var">real</span>.<br/> | 138 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rplus_0_l</span>:·<span·class="id"·title="var">real</span>.<br/> | 
| 139 | <br/> | 139 | <br/> | 
| 140 | </div> | 140 | </div> | 
| 141 | <div·class="doc"> | 141 | <div·class="doc"> | 
| 142 | <a·id="lab | 142 | <a·id="lab47"></a><h2·class="section">Multiplication</h2> | 
| 143 | <div·class="paragraph">·</div> | 143 | <div·class="paragraph">·</div> | 
| 144 | </div> | 144 | </div> | 
| 145 | <div·class="code"> | 145 | <div·class="code"> | 
| 146 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmult_comm"·class="idref"·href="#Rmult_comm"><span·class="id"·title="lemma">Rmult_comm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:23"·class="idref"·href="#r1:23"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:24"·class="idref"·href="#r2:24"><span·class="id"·title="binder">r2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Raxioms.html#r1:23"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:24"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:24"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r1:23"><span·class="id"·title="variable">r1</span></a>.<br/> | 146 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmult_comm"·class="idref"·href="#Rmult_comm"><span·class="id"·title="lemma">Rmult_comm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:23"·class="idref"·href="#r1:23"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:24"·class="idref"·href="#r2:24"><span·class="id"·title="binder">r2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Raxioms.html#r1:23"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:24"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:24"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r1:23"><span·class="id"·title="variable">r1</span></a>.<br/> | 
| Offset 172, 15 lines modified | Offset 172, 15 lines modified | ||
| 172 | #[<span·class="id"·title="var">global</span>]<br/> | 172 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 173 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">R1_neq_R0</span>:·<span·class="id"·title="var">real</span>.<br/> | 173 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">R1_neq_R0</span>:·<span·class="id"·title="var">real</span>.<br/> | 
| 174 | <br/> | 174 | <br/> | 
| 175 | </div> | 175 | </div> | 
| 176 | <div·class="doc"> | 176 | <div·class="doc"> | 
| 177 | <a·id="lab | 177 | <a·id="lab48"></a><h2·class="section">Distributivity</h2> | 
| 178 | <div·class="paragraph">·</div> | 178 | <div·class="paragraph">·</div> | 
| 179 | </div> | 179 | </div> | 
| 180 | <div·class="code"> | 180 | <div·class="code"> | 
| 181 | <span·class="id"·title="keyword">Lemma</span><br/> | 181 | <span·class="id"·title="keyword">Lemma</span><br/> | 
| Offset 188, 19 lines modified | Offset 188, 19 lines modified | ||
| 188 | #[<span·class="id"·title="var">global</span>]<br/> | 188 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 189 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rmult_plus_distr_l</span>:·<span·class="id"·title="var">real</span>.<br/> | 189 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rmult_plus_distr_l</span>:·<span·class="id"·title="var">real</span>.<br/> | 
| 190 | <br/> | 190 | <br/> | 
| 191 | </div> | 191 | </div> | 
| 192 | <div·class="doc"> | 192 | <div·class="doc"> | 
| 193 | <a·id="lab | 193 | <a·id="lab49"></a><h1·class="section">Order</h1> | 
| 194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> | 
| 195 | <a·id="lab | 195 | <a·id="lab50"></a><h2·class="section">Lower</h2> | 
| 196 | <div·class="paragraph">·</div> | 196 | <div·class="paragraph">·</div> | 
| 197 | </div> | 197 | </div> | 
| 198 | <div·class="code"> | 198 | <div·class="code"> | 
| 199 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_asym"·class="idref"·href="#Rlt_asym"><span·class="id"·title="lemma">Rlt_asym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:33"·class="idref"·href="#r1:33"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:34"·class="idref"·href="#r2:34"><span·class="id"·title="binder">r2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Raxioms.html#r1:33"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:34"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:34"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r1:33"><span·class="id"·title="variable">r1</span></a>.<br/> | 199 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_asym"·class="idref"·href="#Rlt_asym"><span·class="id"·title="lemma">Rlt_asym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:33"·class="idref"·href="#r1:33"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:34"·class="idref"·href="#r2:34"><span·class="id"·title="binder">r2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Raxioms.html#r1:33"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:34"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:34"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r1:33"><span·class="id"·title="variable">r1</span></a>.<br/> | 
| Offset 218, 15 lines modified | Offset 218, 15 lines modified | ||
| 218 | #[<span·class="id"·title="var">global</span>]<br/> | 218 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 219 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rlt_asym</span>·<span·class="id"·title="var">Rplus_lt_compat_l</span>·<span·class="id"·title="var">Rmult_lt_compat_l</span>:·<span·class="id"·title="var">real</span>.<br/> | 219 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rlt_asym</span>·<span·class="id"·title="var">Rplus_lt_compat_l</span>·<span·class="id"·title="var">Rmult_lt_compat_l</span>:·<span·class="id"·title="var">real</span>.<br/> | 
| 220 | <br/> | 220 | <br/> | 
| 221 | </div> | 221 | </div> | 
| 222 | <div·class="doc"> | 222 | <div·class="doc"> | 
| 223 | <a·id="lab | 223 | <a·id="lab51"></a><h1·class="section">Injection·from·N·to·R</h1> | 
| 224 | <div·class="paragraph">·</div> | 224 | <div·class="paragraph">·</div> | 
| 225 | </div> | 225 | </div> | 
| 226 | <div·class="code"> | 226 | <div·class="code"> | 
| 227 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="INR"·class="idref"·href="#INR"><span·class="id"·title="definition">INR</span></a>·(<a·id="n:44"·class="idref"·href="#n:44"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 227 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="INR"·class="idref"·href="#INR"><span·class="id"·title="definition">INR</span></a>·(<a·id="n:44"·class="idref"·href="#n:44"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 
| Offset 237, 15 lines modified | Offset 237, 15 lines modified | ||
| 237 |   <span·class="id"·title="keyword">end</span>.<br/> | 237 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 238 | <span·class="id"·title="keyword">Arguments</span>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·<span·class="id"·title="var">n</span>%<span·class="id"·title="var">_nat</span>.<br/> | 238 | <span·class="id"·title="keyword">Arguments</span>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·<span·class="id"·title="var">n</span>%<span·class="id"·title="var">_nat</span>.<br/> | 
| 239 | <br/> | 239 | <br/> | 
| 240 | </div> | 240 | </div> | 
| 241 | <div·class="doc"> | 241 | <div·class="doc"> | 
| 242 | <a·id="lab | 242 | <a·id="lab52"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">R</span></span>·Archimedean</h1> | 
| 243 | </div> | 243 | </div> | 
| 244 | <div·class="code"> | 244 | <div·class="code"> | 
| 245 | <br/> | 245 | <br/> | 
| 246 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rrepr_INR"·class="idref"·href="#Rrepr_INR"><span·class="id"·title="lemma">Rrepr_INR</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:47"·class="idref"·href="#n:47"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,<br/> | 246 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rrepr_INR"·class="idref"·href="#Rrepr_INR"><span·class="id"·title="lemma">Rrepr_INR</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:47"·class="idref"·href="#n:47"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,<br/> | 
| 247 |     <a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CRealEq"><span·class="id"·title="definition">CRealEq</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.Rrepr"><span·class="id"·title="axiom">Rrepr</span></a>·(<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#n:47"><span·class="id"·title="variable">n</span></a>))·(<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#n:47"><span·class="id"·title="variable">n</span></a>)).<br/> | 247 |     <a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CRealEq"><span·class="id"·title="definition">CRealEq</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.Rrepr"><span·class="id"·title="axiom">Rrepr</span></a>·(<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#n:47"><span·class="id"·title="variable">n</span></a>))·(<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#n:47"><span·class="id"·title="variable">n</span></a>)).<br/> | 
| Offset 265, 15 lines modified | Offset 265, 15 lines modified | ||
| 265 | <br/> | 265 | <br/> | 
| 266 | <span·class="id"·title="keyword">Lemma</span>·<a·id="archimed"·class="idref"·href="#archimed"><span·class="id"·title="lemma">archimed</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:51"·class="idref"·href="#r:51"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#up"><span·class="id"·title="definition">up</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#up"><span·class="id"·title="definition">up</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·1.<br/> | 266 | <span·class="id"·title="keyword">Lemma</span>·<a·id="archimed"·class="idref"·href="#archimed"><span·class="id"·title="lemma">archimed</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:51"·class="idref"·href="#r:51"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#up"><span·class="id"·title="definition">up</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#up"><span·class="id"·title="definition">up</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·1.<br/> | 
| 267 | <br/> | 267 | <br/> | 
| 268 | </div> | 268 | </div> | 
| 269 | <div·class="doc"> | 269 | <div·class="doc"> | 
| 270 | <a·id="lab | 270 | <a·id="lab53"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">R</span></span>·Complete</h1> | 
| 271 | <div·class="paragraph">·</div> | 271 | <div·class="paragraph">·</div> | 
| 272 | </div> | 272 | </div> | 
| 273 | <div·class="code"> | 273 | <div·class="code"> | 
| 274 | <span·class="id"·title="keyword">Definition</span>·<a·id="is_upper_bound"·class="idref"·href="#is_upper_bound"><span·class="id"·title="definition">is_upper_bound</span></a>·(<a·id="E:52"·class="idref"·href="#E:52"><span·class="id"·title="binder">E</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="m:53"·class="idref"·href="#m:53"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:54"·class="idref"·href="#x:54"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Raxioms.html#E:52"><span·class="id"·title="variable">E</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#x:54"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#x:54"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#m:53"><span·class="id"·title="variable">m</span></a>.<br/> | 274 | <span·class="id"·title="keyword">Definition</span>·<a·id="is_upper_bound"·class="idref"·href="#is_upper_bound"><span·class="id"·title="definition">is_upper_bound</span></a>·(<a·id="E:52"·class="idref"·href="#E:52"><span·class="id"·title="binder">E</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="m:53"·class="idref"·href="#m:53"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:54"·class="idref"·href="#x:54"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Raxioms.html#E:52"><span·class="id"·title="variable">E</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#x:54"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#x:54"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#m:53"><span·class="id"·title="variable">m</span></a>.<br/> | 
| Offset 61, 15 lines modified | Offset 61, 15 lines modified | ||
| 61 | <br/> | 61 | <br/> | 
| 62 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">r</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">r</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> | 
| 63 | <br/> | 63 | <br/> | 
| 64 | </div> | 64 | </div> | 
| 65 | <div·class="doc"> | 65 | <div·class="doc"> | 
| 66 | <a·id="lab | 66 | <a·id="lab107"></a><h1·class="section">Rmin</h1> | 
| 67 | <div·class="paragraph">·</div> | 67 | <div·class="paragraph">·</div> | 
| 68 | </div> | 68 | </div> | 
| 69 | <div·class="code"> | 69 | <div·class="code"> | 
| 70 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rmin"·class="idref"·href="#Rmin"><span·class="id"·title="definition">Rmin</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 70 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rmin"·class="idref"·href="#Rmin"><span·class="id"·title="definition">Rmin</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 
| Offset 127, 15 lines modified | Offset 127, 15 lines modified | ||
| 127 | <br/> | 127 | <br/> | 
| 128 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmin_glb_lt"·class="idref"·href="#Rmin_glb_lt"><span·class="id"·title="lemma">Rmin_glb_lt</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:41"·class="idref"·href="#x:41"><span·class="id"·title="binder">x</span></a>·<a·id="y:42"·class="idref"·href="#y:42"><span·class="id"·title="binder">y</span></a>·<a·id="z:43"·class="idref"·href="#z:43"><span·class="id"·title="binder">z</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:41"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:42"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rmin"><span·class="id"·title="definition">Rmin</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:41"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:42"><span·class="id"·title="variable">y</span></a>.<br/> | 128 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmin_glb_lt"·class="idref"·href="#Rmin_glb_lt"><span·class="id"·title="lemma">Rmin_glb_lt</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:41"·class="idref"·href="#x:41"><span·class="id"·title="binder">x</span></a>·<a·id="y:42"·class="idref"·href="#y:42"><span·class="id"·title="binder">y</span></a>·<a·id="z:43"·class="idref"·href="#z:43"><span·class="id"·title="binder">z</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:41"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:42"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rmin"><span·class="id"·title="definition">Rmin</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:41"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:42"><span·class="id"·title="variable">y</span></a>.<br/> | 
| 129 | <br/> | 129 | <br/> | 
| 130 | </div> | 130 | </div> | 
| 131 | <div·class="doc"> | 131 | <div·class="doc"> | 
| 132 | <a·id="lab | 132 | <a·id="lab108"></a><h1·class="section">Rmax</h1> | 
| 133 | <div·class="paragraph">·</div> | 133 | <div·class="paragraph">·</div> | 
| 134 | </div> | 134 | </div> | 
| 135 | <div·class="code"> | 135 | <div·class="code"> | 
| 136 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rmax"·class="idref"·href="#Rmax"><span·class="id"·title="definition">Rmax</span></a>·(<a·id="x:44"·class="idref"·href="#x:44"><span·class="id"·title="binder">x</span></a>·<a·id="y:45"·class="idref"·href="#y:45"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 136 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rmax"·class="idref"·href="#Rmax"><span·class="id"·title="definition">Rmax</span></a>·(<a·id="x:44"·class="idref"·href="#x:44"><span·class="id"·title="binder">x</span></a>·<a·id="y:45"·class="idref"·href="#y:45"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 
| Offset 199, 15 lines modified | Offset 199, 15 lines modified | ||
| 199 | <br/> | 199 | <br/> | 
| 200 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmax_neg"·class="idref"·href="#Rmax_neg"><span·class="id"·title="lemma">Rmax_neg</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:85"·class="idref"·href="#x:85"><span·class="id"·title="binder">x</span></a>·<a·id="y:86"·class="idref"·href="#y:86"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:85"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:86"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rmax"><span·class="id"·title="definition">Rmax</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:85"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:86"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·0.<br/> | 200 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmax_neg"·class="idref"·href="#Rmax_neg"><span·class="id"·title="lemma">Rmax_neg</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:85"·class="idref"·href="#x:85"><span·class="id"·title="binder">x</span></a>·<a·id="y:86"·class="idref"·href="#y:86"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:85"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:86"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rmax"><span·class="id"·title="definition">Rmax</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:85"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:86"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·0.<br/> | 
| 201 | <br/> | 201 | <br/> | 
| 202 | </div> | 202 | </div> | 
| 203 | <div·class="doc"> | 203 | <div·class="doc"> | 
| 204 | <a·id="lab | 204 | <a·id="lab109"></a><h1·class="section">Rabsolu</h1> | 
| 205 | <div·class="paragraph">·</div> | 205 | <div·class="paragraph">·</div> | 
| 206 | </div> | 206 | </div> | 
| 207 | <div·class="code"> | 207 | <div·class="code"> | 
| 208 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rcase_abs"·class="idref"·href="#Rcase_abs"><span·class="id"·title="lemma">Rcase_abs</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:87"·class="idref"·href="#r:87"><span·class="id"·title="binder">r</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.Rbasic_fun.html#r:87"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·0<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.Rbasic_fun.html#r:87"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·0<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 208 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rcase_abs"·class="idref"·href="#Rcase_abs"><span·class="id"·title="lemma">Rcase_abs</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:87"·class="idref"·href="#r:87"><span·class="id"·title="binder">r</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.Rbasic_fun.html#r:87"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·0<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.Rbasic_fun.html#r:87"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·0<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 
| Offset 174, 15 lines modified | Offset 174, 15 lines modified | ||
| 174 | <span·class="id"·title="keyword">Notation</span>·<a·id="::R_scope:x_'<'_x_'<'_x"·class="idref"·href="#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation">"</span></a>x·<·y·<·z"···:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">R_scope</span>.<br/> | 174 | <span·class="id"·title="keyword">Notation</span>·<a·id="::R_scope:x_'<'_x_'<'_x"·class="idref"·href="#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation">"</span></a>x·<·y·<·z"···:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 175 | <span·class="id"·title="keyword">Notation</span>·<a·id="655439258f20e6256090528bc533ae29"·class="idref"·href="#655439258f20e6256090528bc533ae29"><span·class="id"·title="notation">"</span></a>x·<·y·<=·z"··:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">R_scope</span>.<br/> | 175 | <span·class="id"·title="keyword">Notation</span>·<a·id="655439258f20e6256090528bc533ae29"·class="idref"·href="#655439258f20e6256090528bc533ae29"><span·class="id"·title="notation">"</span></a>x·<·y·<=·z"··:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 176 | <br/> | 176 | <br/> | 
| 177 | </div> | 177 | </div> | 
| 178 | <div·class="doc"> | 178 | <div·class="doc"> | 
| 179 | <a·id="lab1 | 179 | <a·id="lab110"></a><h1·class="section">Injection·from·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">R</span></span></h1> | 
| 180 | </div> | 180 | </div> | 
| 181 | <div·class="code"> | 181 | <div·class="code"> | 
| 182 | <br/> | 182 | <br/> | 
| 183 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="IPR_2"·class="idref"·href="#IPR_2"><span·class="id"·title="definition">IPR_2</span></a>·(<a·id="p:67"·class="idref"·href="#p:67"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#R"><span·class="id"·title="abbreviation">R</span></a>·:=<br/> | 183 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="IPR_2"·class="idref"·href="#IPR_2"><span·class="id"·title="definition">IPR_2</span></a>·(<a·id="p:67"·class="idref"·href="#p:67"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#R"><span·class="id"·title="abbreviation">R</span></a>·:=<br/> | 
| 184 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#p:67"><span·class="id"·title="variable">p</span></a>·<span·class="id"·title="keyword">with</span><br/> | 184 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#p:67"><span·class="id"·title="variable">p</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 262, 15 lines modified | Offset 262, 15 lines modified | ||
| 262 | <br/> | 262 | <br/> | 
| 263 | <span·class="id"·title="keyword">Definition</span>·<a·id="Q2R"·class="idref"·href="#Q2R"><span·class="id"·title="definition">Q2R</span></a>·(<a·id="x:89"·class="idref"·href="#x:89"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#R"><span·class="id"·title="abbreviation">R</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#Qnum"><span·class="id"·title="projection">Qnum</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#x:89"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#QDen"><span·class="id"·title="abbreviation">QDen</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#x:89"><span·class="id"·title="variable">x</span></a>))%<span·class="id"·title="var">R</span>.<br/> | 263 | <span·class="id"·title="keyword">Definition</span>·<a·id="Q2R"·class="idref"·href="#Q2R"><span·class="id"·title="definition">Q2R</span></a>·(<a·id="x:89"·class="idref"·href="#x:89"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#R"><span·class="id"·title="abbreviation">R</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#Qnum"><span·class="id"·title="projection">Qnum</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#x:89"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#QDen"><span·class="id"·title="abbreviation">QDen</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#x:89"><span·class="id"·title="variable">x</span></a>))%<span·class="id"·title="var">R</span>.<br/> | 
| 264 | <br/> | 264 | <br/> | 
| 265 | </div> | 265 | </div> | 
| 266 | <div·class="doc"> | 266 | <div·class="doc"> | 
| 267 | <a·id="lab1 | 267 | <a·id="lab111"></a><h1·class="section">Number·notation·for·constants</h1> | 
| 268 | </div> | 268 | </div> | 
| 269 | <div·class="code"> | 269 | <div·class="code"> | 
| 270 | <br/> | 270 | <br/> | 
| 271 | <span·class="id"·title="keyword">Inductive</span>·<a·id="IR"·class="idref"·href="#IR"><span·class="id"·title="definition,·inductive"><span·id="IR_rect"·class="id"><span·id="IR_ind"·class="id"><span·id="IR_rec"·class="id"><span·id="IR_sind"·class="id">IR</span></span></span></span></span></a>·:=<br/> | 271 | <span·class="id"·title="keyword">Inductive</span>·<a·id="IR"·class="idref"·href="#IR"><span·class="id"·title="definition,·inductive"><span·id="IR_rect"·class="id"><span·id="IR_ind"·class="id"><span·id="IR_rec"·class="id"><span·id="IR_sind"·class="id">IR</span></span></span></span></span></a>·:=<br/> | 
| 272 |   |·<a·id="IRZ"·class="idref"·href="#IRZ"><span·class="id"·title="constructor">IRZ</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#IZ"><span·class="id"·title="inductive">IZ</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IR:90"><span·class="id"·title="inductive">IR</span></a><br/> | 272 |   |·<a·id="IRZ"·class="idref"·href="#IRZ"><span·class="id"·title="constructor">IRZ</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#IZ"><span·class="id"·title="inductive">IZ</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IR:90"><span·class="id"·title="inductive">IR</span></a><br/> | 
| Offset 70, 15 lines modified | Offset 70, 15 lines modified | ||
| 70 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> | 70 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> | 
| 71 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 71 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 72 | <br/> | 72 | <br/> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="doc"> | 74 | <div·class="doc"> | 
| 75 | <a·id="lab1 | 75 | <a·id="lab159"></a><h1·class="section">Lemmas·about·factorial</h1> | 
| 76 | </div> | 76 | </div> | 
| 77 | <div·class="code"> | 77 | <div·class="code"> | 
| 78 | <span·class="id"·title="keyword">Lemma</span>·<a·id="INR_fact_neq_0"·class="idref"·href="#INR_fact_neq_0"><span·class="id"·title="lemma">INR_fact_neq_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:1"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> | 78 | <span·class="id"·title="keyword">Lemma</span>·<a·id="INR_fact_neq_0"·class="idref"·href="#INR_fact_neq_0"><span·class="id"·title="lemma">INR_fact_neq_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:1"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> | 
| 79 | <br/> | 79 | <br/> | 
| 80 | <span·class="id"·title="keyword">Lemma</span>·<a·id="fact_simpl"·class="idref"·href="#fact_simpl"><span·class="id"·title="lemma">fact_simpl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span>.<br/> | 80 | <span·class="id"·title="keyword">Lemma</span>·<a·id="fact_simpl"·class="idref"·href="#fact_simpl"><span·class="id"·title="lemma">fact_simpl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span>.<br/> | 
| Offset 87, 15 lines modified | Offset 87, 15 lines modified | ||
| 87 | <span·class="id"·title="keyword">Lemma</span>·<a·id="simpl_fact"·class="idref"·href="#simpl_fact"><span·class="id"·title="lemma">simpl_fact</span></a>·:<br/> | 87 | <span·class="id"·title="keyword">Lemma</span>·<a·id="simpl_fact"·class="idref"·href="#simpl_fact"><span·class="id"·title="lemma">simpl_fact</span></a>·:<br/> | 
| 88 |   <span·class="id"·title="keyword">forall</span>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:3"><span·class="id"·title="variable">n</span></a>))·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:3"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:3"><span·class="id"·title="variable">n</span></a>).<br/> | 88 |   <span·class="id"·title="keyword">forall</span>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:3"><span·class="id"·title="variable">n</span></a>))·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:3"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:3"><span·class="id"·title="variable">n</span></a>).<br/> | 
| 89 | <br/> | 89 | <br/> | 
| 90 | </div> | 90 | </div> | 
| 91 | <div·class="doc"> | 91 | <div·class="doc"> | 
| 92 | <a·id="lab1 | 92 | <a·id="lab160"></a><h1·class="section">Power</h1> | 
| 93 | </div> | 93 | </div> | 
| 94 | <div·class="code"> | 94 | <div·class="code"> | 
| 95 | <br/> | 95 | <br/> | 
| 96 | <span·class="id"·title="keyword">Infix</span>·<a·id="1fc859ef9f60fc2e3a52c48371d07707"·class="idref"·href="#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">"</span></a>^"·:=·<a·class="idref"·href="Coq.Reals.Rpow_def.html#pow"><span·class="id"·title="definition">pow</span></a>·:·<span·class="id"·title="var">R_scope</span>.<br/> | 96 | <span·class="id"·title="keyword">Infix</span>·<a·id="1fc859ef9f60fc2e3a52c48371d07707"·class="idref"·href="#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">"</span></a>^"·:=·<a·class="idref"·href="Coq.Reals.Rpow_def.html#pow"><span·class="id"·title="definition">pow</span></a>·:·<span·class="id"·title="var">R_scope</span>.<br/> | 
| Offset 226, 15 lines modified | Offset 226, 15 lines modified | ||
| 226 | <br/> | 226 | <br/> | 
| 227 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rsqr_pow2"·class="idref"·href="#Rsqr_pow2"><span·class="id"·title="lemma">Rsqr_pow2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:111"·class="idref"·href="#x:111"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:111"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:111"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·2.<br/> | 227 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rsqr_pow2"·class="idref"·href="#Rsqr_pow2"><span·class="id"·title="lemma">Rsqr_pow2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:111"·class="idref"·href="#x:111"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:111"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:111"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·2.<br/> | 
| 228 | <br/> | 228 | <br/> | 
| 229 | </div> | 229 | </div> | 
| 230 | <div·class="doc"> | 230 | <div·class="doc"> | 
| 231 | <a·id="lab1 | 231 | <a·id="lab161"></a><h1·class="section">PowerRZ</h1> | 
| 232 | </div> | 232 | </div> | 
| 233 | <div·class="code"> | 233 | <div·class="code"> | 
| 234 | <br/> | 234 | <br/> | 
| 235 | <span·class="id"·title="keyword">Section</span>·<a·id="PowerRZ"·class="idref"·href="#PowerRZ"><span·class="id"·title="section">PowerRZ</span></a>.<br/> | 235 | <span·class="id"·title="keyword">Section</span>·<a·id="PowerRZ"·class="idref"·href="#PowerRZ"><span·class="id"·title="section">PowerRZ</span></a>.<br/> | 
| Offset 375, 15 lines modified | Offset 375, 15 lines modified | ||
| 375 | <br/> | 375 | <br/> | 
| 376 | <span·class="id"·title="keyword">Definition</span>·<a·id="decimal_exp"·class="idref"·href="#decimal_exp"><span·class="id"·title="definition">decimal_exp</span></a>·(<a·id="r:168"·class="idref"·href="#r:168"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="z:169"·class="idref"·href="#z:169"><span·class="id"·title="binder">z</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#r:168"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·10·<a·class="idref"·href="Coq.Reals.Rfunctions.html#12a5e136bc762a6b124c9852f0671f5b"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Reals.Rfunctions.html#12a5e136bc762a6b124c9852f0671f5b"><span·class="id"·title="notation">Z</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#z:169"><span·class="id"·title="variable">z</span></a>).<br/> | 376 | <span·class="id"·title="keyword">Definition</span>·<a·id="decimal_exp"·class="idref"·href="#decimal_exp"><span·class="id"·title="definition">decimal_exp</span></a>·(<a·id="r:168"·class="idref"·href="#r:168"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="z:169"·class="idref"·href="#z:169"><span·class="id"·title="binder">z</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#r:168"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·10·<a·class="idref"·href="Coq.Reals.Rfunctions.html#12a5e136bc762a6b124c9852f0671f5b"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Reals.Rfunctions.html#12a5e136bc762a6b124c9852f0671f5b"><span·class="id"·title="notation">Z</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#z:169"><span·class="id"·title="variable">z</span></a>).<br/> | 
| 377 | <br/> | 377 | <br/> | 
| 378 | </div> | 378 | </div> | 
| 379 | <div·class="doc"> | 379 | <div·class="doc"> | 
| 380 | <a·id="lab1 | 380 | <a·id="lab162"></a><h1·class="section">Sum·of·n·first·naturals</h1> | 
| 381 | </div> | 381 | </div> | 
| 382 | <div·class="code"> | 382 | <div·class="code"> | 
| 383 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="sum_nat_f_O"·class="idref"·href="#sum_nat_f_O"><span·class="id"·title="definition">sum_nat_f_O</span></a>·(<a·id="f:170"·class="idref"·href="#f:170"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·(<a·id="n:171"·class="idref"·href="#n:171"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·:=<br/> | 383 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="sum_nat_f_O"·class="idref"·href="#sum_nat_f_O"><span·class="id"·title="definition">sum_nat_f_O</span></a>·(<a·id="f:170"·class="idref"·href="#f:170"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·(<a·id="n:171"·class="idref"·href="#n:171"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·:=<br/> | 
| 384 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:171"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 384 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:171"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| 385 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><span·class="id"·title="variable">f</span></a>·0%<span·class="id"·title="var">nat</span><br/> | 385 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><span·class="id"·title="variable">f</span></a>·0%<span·class="id"·title="var">nat</span><br/> | 
| 386 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">n'</span>·=>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_nat_f_O:172"><span·class="id"·title="definition">sum_nat_f_O</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">n'</span>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">n'</span>))%<span·class="id"·title="var">nat</span><br/> | 386 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">n'</span>·=>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_nat_f_O:172"><span·class="id"·title="definition">sum_nat_f_O</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">n'</span>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">n'</span>))%<span·class="id"·title="var">nat</span><br/> | 
| Offset 399, 15 lines modified | Offset 399, 15 lines modified | ||
| 399 | <br/> | 399 | <br/> | 
| 400 | <span·class="id"·title="keyword">Definition</span>·<a·id="sum_nat"·class="idref"·href="#sum_nat"><span·class="id"·title="definition">sum_nat</span></a>·(<a·id="s:180"·class="idref"·href="#s:180"><span·class="id"·title="binder">s</span></a>·<a·id="n:181"·class="idref"·href="#n:181"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_nat_f"><span·class="id"·title="definition">sum_nat_f</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#s:180"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:181"><span·class="id"·title="variable">n</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:182"·class="idref"·href="#x:182"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:182"><span·class="id"·title="variable">x</span></a>).<br/> | 400 | <span·class="id"·title="keyword">Definition</span>·<a·id="sum_nat"·class="idref"·href="#sum_nat"><span·class="id"·title="definition">sum_nat</span></a>·(<a·id="s:180"·class="idref"·href="#s:180"><span·class="id"·title="binder">s</span></a>·<a·id="n:181"·class="idref"·href="#n:181"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_nat_f"><span·class="id"·title="definition">sum_nat_f</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#s:180"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:181"><span·class="id"·title="variable">n</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:182"·class="idref"·href="#x:182"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:182"><span·class="id"·title="variable">x</span></a>).<br/> | 
| 401 | <br/> | 401 | <br/> | 
| 402 | </div> | 402 | </div> | 
| 403 | <div·class="doc"> | 403 | <div·class="doc"> | 
| 404 | <a·id="lab1 | 404 | <a·id="lab163"></a><h1·class="section">Sum</h1> | 
| 405 | </div> | 405 | </div> | 
| 406 | <div·class="code"> | 406 | <div·class="code"> | 
| 407 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="sum_f_R0"·class="idref"·href="#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·id="f:183"·class="idref"·href="#f:183"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="N:184"·class="idref"·href="#N:184"><span·class="id"·title="binder">N</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 407 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="sum_f_R0"·class="idref"·href="#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·id="f:183"·class="idref"·href="#f:183"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="N:184"·class="idref"·href="#N:184"><span·class="id"·title="binder">N</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 
| 408 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#N:184"><span·class="id"·title="variable">N</span></a>·<span·class="id"·title="keyword">with</span><br/> | 408 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#N:184"><span·class="id"·title="variable">N</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| 409 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><span·class="id"·title="variable">f</span></a>·0%<span·class="id"·title="var">nat</span><br/> | 409 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><span·class="id"·title="variable">f</span></a>·0%<span·class="id"·title="var">nat</span><br/> | 
| 410 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">i</span>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0:185"><span·class="id"·title="definition">sum_f_R0</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">i</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">i</span>)<br/> | 410 |     |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">i</span>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0:185"><span·class="id"·title="definition">sum_f_R0</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">i</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">i</span>)<br/> | 
| Offset 427, 15 lines modified | Offset 427, 15 lines modified | ||
| 427 |   <span·class="id"·title="keyword">forall</span>·(<a·id="x:194"·class="idref"·href="#x:194"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="n:195"·class="idref"·href="#n:195"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>),<br/> | 427 |   <span·class="id"·title="keyword">forall</span>·(<a·id="x:194"·class="idref"·href="#x:194"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="n:195"·class="idref"·href="#n:195"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>),<br/> | 
| 428 |     <a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:194"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:195"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="i:196"·class="idref"·href="#i:196"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:194"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#i:196"><span·class="id"·title="variable">i</span></a>))·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:195"><span·class="id"·title="variable">n</span></a>.<br/> | 428 |     <a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:194"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:195"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="i:196"·class="idref"·href="#i:196"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:194"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#i:196"><span·class="id"·title="variable">i</span></a>))·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:195"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 429 | <br/> | 429 | <br/> | 
| 430 | </div> | 430 | </div> | 
| 431 | <div·class="doc"> | 431 | <div·class="doc"> | 
| 432 | <a·id="lab1 | 432 | <a·id="lab164"></a><h1·class="section">Distance··in·R</h1> | 
| 433 | <div·class="paragraph">·</div> | 433 | <div·class="paragraph">·</div> | 
| 434 | </div> | 434 | </div> | 
| 435 | <div·class="code"> | 435 | <div·class="code"> | 
| 436 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rdist"·class="idref"·href="#Rdist"><span·class="id"·title="definition">Rdist</span></a>·(<a·id="x:202"·class="idref"·href="#x:202"><span·class="id"·title="binder">x</span></a>·<a·id="y:203"·class="idref"·href="#y:203"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:202"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#y:203"><span·class="id"·title="variable">y</span></a>).<br/> | 436 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rdist"·class="idref"·href="#Rdist"><span·class="id"·title="definition">Rdist</span></a>·(<a·id="x:202"·class="idref"·href="#x:202"><span·class="id"·title="binder">x</span></a>·<a·id="y:203"·class="idref"·href="#y:203"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:202"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#y:203"><span·class="id"·title="variable">y</span></a>).<br/> | 
| Offset 473, 15 lines modified | Offset 473, 15 lines modified | ||
| 473 | <span·class="id"·title="keyword">Notation</span>·<a·id="R_dist_plus"·class="idref"·href="#R_dist_plus"><span·class="id"·title="abbreviation">R_dist_plus</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#Rdist_plus"><span·class="id"·title="lemma">Rdist_plus</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 473 | <span·class="id"·title="keyword">Notation</span>·<a·id="R_dist_plus"·class="idref"·href="#R_dist_plus"><span·class="id"·title="abbreviation">R_dist_plus</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#Rdist_plus"><span·class="id"·title="lemma">Rdist_plus</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 474 | <span·class="id"·title="keyword">Notation</span>·<a·id="R_dist_mult_l"·class="idref"·href="#R_dist_mult_l"><span·class="id"·title="abbreviation">R_dist_mult_l</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#Rdist_mult_l"><span·class="id"·title="lemma">Rdist_mult_l</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 474 | <span·class="id"·title="keyword">Notation</span>·<a·id="R_dist_mult_l"·class="idref"·href="#R_dist_mult_l"><span·class="id"·title="abbreviation">R_dist_mult_l</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#Rdist_mult_l"><span·class="id"·title="lemma">Rdist_mult_l</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 475 | <br/> | 475 | <br/> | 
| 476 | </div> | 476 | </div> | 
| 477 | <div·class="doc"> | 477 | <div·class="doc"> | 
| 478 | <a·id="lab1 | 478 | <a·id="lab165"></a><h1·class="section">Infinite·Sum</h1> | 
| 479 | </div> | 479 | </div> | 
| 480 | <div·class="code"> | 480 | <div·class="code"> | 
| 481 | <span·class="id"·title="keyword">Definition</span>·<a·id="infinite_sum"·class="idref"·href="#infinite_sum"><span·class="id"·title="definition">infinite_sum</span></a>·(<a·id="s:221"·class="idref"·href="#s:221"><span·class="id"·title="binder">s</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="l:222"·class="idref"·href="#l:222"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 481 | <span·class="id"·title="keyword">Definition</span>·<a·id="infinite_sum"·class="idref"·href="#infinite_sum"><span·class="id"·title="definition">infinite_sum</span></a>·(<a·id="s:221"·class="idref"·href="#s:221"><span·class="id"·title="binder">s</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="l:222"·class="idref"·href="#l:222"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 482 |   <span·class="id"·title="keyword">forall</span>·<a·id="eps:223"·class="idref"·href="#eps:223"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 482 |   <span·class="id"·title="keyword">forall</span>·<a·id="eps:223"·class="idref"·href="#eps:223"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 
| 483 |     <a·class="idref"·href="Coq.Reals.Rfunctions.html#eps:223"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 483 |     <a·class="idref"·href="Coq.Reals.Rfunctions.html#eps:223"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 484 |     <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="N:224"·class="idref"·href="#N:224"><span·class="id"·title="binder">N</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a><br/> | 484 |     <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="N:224"·class="idref"·href="#N:224"><span·class="id"·title="binder">N</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a><br/> | 
| Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#"><span·class="id"·title="library">R_sqrt</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#"><span·class="id"·title="library">R_sqrt</span></a>.<br/> | 
| 54 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 54 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 55 | <br/> | 55 | <br/> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="doc"> | 57 | <div·class="doc"> | 
| 58 | <a·id="lab | 58 | <a·id="lab189"></a><h1·class="section">Distance</h1> | 
| 59 | </div> | 59 | </div> | 
| 60 | <div·class="code"> | 60 | <div·class="code"> | 
| 61 | <br/> | 61 | <br/> | 
| 62 | <span·class="id"·title="keyword">Definition</span>·<a·id="dist_euc"·class="idref"·href="#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·(<a·id="x0:1"·class="idref"·href="#x0:1"><span·class="id"·title="binder">x0</span></a>·<a·id="y0:2"·class="idref"·href="#y0:2"><span·class="id"·title="binder">y0</span></a>·<a·id="x1:3"·class="idref"·href="#x1:3"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:4"·class="idref"·href="#y1:4"><span·class="id"·title="binder">y1</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 62 | <span·class="id"·title="keyword">Definition</span>·<a·id="dist_euc"·class="idref"·href="#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·(<a·id="x0:1"·class="idref"·href="#x0:1"><span·class="id"·title="binder">x0</span></a>·<a·id="y0:2"·class="idref"·href="#y0:2"><span·class="id"·title="binder">y0</span></a>·<a·id="x1:3"·class="idref"·href="#x1:3"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:4"·class="idref"·href="#y1:4"><span·class="id"·title="binder">y1</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 
| 63 |   <a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:1"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:3"><span·class="id"·title="variable">x1</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:2"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:4"><span·class="id"·title="variable">y1</span></a>)).<br/> | 63 |   <a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:1"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:3"><span·class="id"·title="variable">x1</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:2"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:4"><span·class="id"·title="variable">y1</span></a>)).<br/> | 
| Offset 87, 15 lines modified | Offset 87, 15 lines modified | ||
| 87 |   <span·class="id"·title="keyword">forall</span>·<a·id="x0:21"·class="idref"·href="#x0:21"><span·class="id"·title="binder">x0</span></a>·<a·id="y0:22"·class="idref"·href="#y0:22"><span·class="id"·title="binder">y0</span></a>·<a·id="x1:23"·class="idref"·href="#x1:23"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:24"·class="idref"·href="#y1:24"><span·class="id"·title="binder">y1</span></a>·<a·id="x2:25"·class="idref"·href="#x2:25"><span·class="id"·title="binder">x2</span></a>·<a·id="y2:26"·class="idref"·href="#y2:26"><span·class="id"·title="binder">y2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 87 |   <span·class="id"·title="keyword">forall</span>·<a·id="x0:21"·class="idref"·href="#x0:21"><span·class="id"·title="binder">x0</span></a>·<a·id="y0:22"·class="idref"·href="#y0:22"><span·class="id"·title="binder">y0</span></a>·<a·id="x1:23"·class="idref"·href="#x1:23"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:24"·class="idref"·href="#y1:24"><span·class="id"·title="binder">y1</span></a>·<a·id="x2:25"·class="idref"·href="#x2:25"><span·class="id"·title="binder">x2</span></a>·<a·id="y2:26"·class="idref"·href="#y2:26"><span·class="id"·title="binder">y2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 
| 88 |     <a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:21"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:22"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:23"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:24"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:21"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:22"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:25"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:26"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:25"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:26"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:23"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:24"><span·class="id"·title="variable">y1</span></a>.<br/> | 88 |     <a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:21"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:22"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:23"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:24"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:21"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:22"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:25"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:26"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:25"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:26"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:23"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:24"><span·class="id"·title="variable">y1</span></a>.<br/> | 
| 89 | <br/> | 89 | <br/> | 
| 90 | </div> | 90 | </div> | 
| 91 | <div·class="doc"> | 91 | <div·class="doc"> | 
| 92 | <a·id="lab | 92 | <a·id="lab190"></a><h1·class="section">Translation</h1> | 
| 93 | </div> | 93 | </div> | 
| 94 | <div·class="code"> | 94 | <div·class="code"> | 
| 95 | <br/> | 95 | <br/> | 
| 96 | <span·class="id"·title="keyword">Definition</span>·<a·id="xt"·class="idref"·href="#xt"><span·class="id"·title="definition">xt</span></a>·(<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="tx:28"·class="idref"·href="#tx:28"><span·class="id"·title="binder">tx</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rgeom.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#tx:28"><span·class="id"·title="variable">tx</span></a>.<br/> | 96 | <span·class="id"·title="keyword">Definition</span>·<a·id="xt"·class="idref"·href="#xt"><span·class="id"·title="definition">xt</span></a>·(<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="tx:28"·class="idref"·href="#tx:28"><span·class="id"·title="binder">tx</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rgeom.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#tx:28"><span·class="id"·title="variable">tx</span></a>.<br/> | 
| 97 | <span·class="id"·title="keyword">Definition</span>·<a·id="yt"·class="idref"·href="#yt"><span·class="id"·title="definition">yt</span></a>·(<a·id="y:29"·class="idref"·href="#y:29"><span·class="id"·title="binder">y</span></a>·<a·id="ty:30"·class="idref"·href="#ty:30"><span·class="id"·title="binder">ty</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rgeom.html#y:29"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:30"><span·class="id"·title="variable">ty</span></a>.<br/> | 97 | <span·class="id"·title="keyword">Definition</span>·<a·id="yt"·class="idref"·href="#yt"><span·class="id"·title="definition">yt</span></a>·(<a·id="y:29"·class="idref"·href="#y:29"><span·class="id"·title="binder">y</span></a>·<a·id="ty:30"·class="idref"·href="#ty:30"><span·class="id"·title="binder">ty</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rgeom.html#y:29"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:30"><span·class="id"·title="variable">ty</span></a>.<br/> | 
| Offset 109, 15 lines modified | Offset 109, 15 lines modified | ||
| 109 |     <a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:33"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:34"><span·class="id"·title="variable">x2</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:35"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:36"><span·class="id"·title="variable">y2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a><br/> | 109 |     <a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:33"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:34"><span·class="id"·title="variable">x2</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:35"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:36"><span·class="id"·title="variable">y2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a><br/> | 
| 110 |     <a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#xt"><span·class="id"·title="definition">xt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:33"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#tx:37"><span·class="id"·title="variable">tx</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#xt"><span·class="id"·title="definition">xt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:34"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#tx:37"><span·class="id"·title="variable">tx</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#yt"><span·class="id"·title="definition">yt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:35"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:38"><span·class="id"·title="variable">ty</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#yt"><span·class="id"·title="definition">yt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:36"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:38"><span·class="id"·title="variable">ty</span></a>).<br/> | 110 |     <a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#xt"><span·class="id"·title="definition">xt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:33"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#tx:37"><span·class="id"·title="variable">tx</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#xt"><span·class="id"·title="definition">xt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:34"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#tx:37"><span·class="id"·title="variable">tx</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#yt"><span·class="id"·title="definition">yt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:35"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:38"><span·class="id"·title="variable">ty</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#yt"><span·class="id"·title="definition">yt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:36"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:38"><span·class="id"·title="variable">ty</span></a>).<br/> | 
| 111 | <br/> | 111 | <br/> | 
| 112 | </div> | 112 | </div> | 
| 113 | <div·class="doc"> | 113 | <div·class="doc"> | 
| 114 | <a·id="lab | 114 | <a·id="lab191"></a><h1·class="section">Rotation</h1> | 
| 115 | </div> | 115 | </div> | 
| 116 | <div·class="code"> | 116 | <div·class="code"> | 
| 117 | <br/> | 117 | <br/> | 
| 118 | <span·class="id"·title="keyword">Definition</span>·<a·id="xr"·class="idref"·href="#xr"><span·class="id"·title="definition">xr</span></a>·(<a·id="x:39"·class="idref"·href="#x:39"><span·class="id"·title="binder">x</span></a>·<a·id="y:40"·class="idref"·href="#y:40"><span·class="id"·title="binder">y</span></a>·<a·id="theta:41"·class="idref"·href="#theta:41"><span·class="id"·title="binder">theta</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rgeom.html#x:39"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:41"><span·class="id"·title="variable">theta</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y:40"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:41"><span·class="id"·title="variable">theta</span></a>.<br/> | 118 | <span·class="id"·title="keyword">Definition</span>·<a·id="xr"·class="idref"·href="#xr"><span·class="id"·title="definition">xr</span></a>·(<a·id="x:39"·class="idref"·href="#x:39"><span·class="id"·title="binder">x</span></a>·<a·id="y:40"·class="idref"·href="#y:40"><span·class="id"·title="binder">y</span></a>·<a·id="theta:41"·class="idref"·href="#theta:41"><span·class="id"·title="binder">theta</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rgeom.html#x:39"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:41"><span·class="id"·title="variable">theta</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y:40"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:41"><span·class="id"·title="variable">theta</span></a>.<br/> | 
| 119 | <span·class="id"·title="keyword">Definition</span>·<a·id="yr"·class="idref"·href="#yr"><span·class="id"·title="definition">yr</span></a>·(<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>·<a·id="y:43"·class="idref"·href="#y:43"><span·class="id"·title="binder">y</span></a>·<a·id="theta:44"·class="idref"·href="#theta:44"><span·class="id"·title="binder">theta</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x:42"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:44"><span·class="id"·title="variable">theta</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y:43"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:44"><span·class="id"·title="variable">theta</span></a>.<br/> | 119 | <span·class="id"·title="keyword">Definition</span>·<a·id="yr"·class="idref"·href="#yr"><span·class="id"·title="definition">yr</span></a>·(<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>·<a·id="y:43"·class="idref"·href="#y:43"><span·class="id"·title="binder">y</span></a>·<a·id="theta:44"·class="idref"·href="#theta:44"><span·class="id"·title="binder">theta</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x:42"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:44"><span·class="id"·title="variable">theta</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y:43"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:44"><span·class="id"·title="variable">theta</span></a>.<br/> | 
| Offset 143, 15 lines modified | Offset 143, 15 lines modified | ||
| 143 |     <a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#xr"><span·class="id"·title="definition">xr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:54"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:55"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)·(<a·class="idref"·href="Coq.Reals.Rgeom.html#yr"><span·class="id"·title="definition">yr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:54"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:55"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)·(<a·class="idref"·href="Coq.Reals.Rgeom.html#xr"><span·class="id"·title="definition">xr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:56"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:57"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)<br/> | 143 |     <a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#xr"><span·class="id"·title="definition">xr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:54"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:55"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)·(<a·class="idref"·href="Coq.Reals.Rgeom.html#yr"><span·class="id"·title="definition">yr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:54"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:55"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)·(<a·class="idref"·href="Coq.Reals.Rgeom.html#xr"><span·class="id"·title="definition">xr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:56"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:57"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)<br/> | 
| 144 |     (<a·class="idref"·href="Coq.Reals.Rgeom.html#yr"><span·class="id"·title="definition">yr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:56"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:57"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>).<br/> | 144 |     (<a·class="idref"·href="Coq.Reals.Rgeom.html#yr"><span·class="id"·title="definition">yr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:56"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:57"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>).<br/> | 
| 145 | <br/> | 145 | <br/> | 
| 146 | </div> | 146 | </div> | 
| 147 | <div·class="doc"> | 147 | <div·class="doc"> | 
| 148 | <a·id="lab | 148 | <a·id="lab192"></a><h1·class="section">Similarity</h1> | 
| 149 | </div> | 149 | </div> | 
| 150 | <div·class="code"> | 150 | <div·class="code"> | 
| 151 | <br/> | 151 | <br/> | 
| 152 | <span·class="id"·title="keyword">Lemma</span>·<a·id="isometric_rot_trans"·class="idref"·href="#isometric_rot_trans"><span·class="id"·title="lemma">isometric_rot_trans</span></a>·:<br/> | 152 | <span·class="id"·title="keyword">Lemma</span>·<a·id="isometric_rot_trans"·class="idref"·href="#isometric_rot_trans"><span·class="id"·title="lemma">isometric_rot_trans</span></a>·:<br/> | 
| 153 |   <span·class="id"·title="keyword">forall</span>·<a·id="x1:59"·class="idref"·href="#x1:59"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:60"·class="idref"·href="#y1:60"><span·class="id"·title="binder">y1</span></a>·<a·id="x2:61"·class="idref"·href="#x2:61"><span·class="id"·title="binder">x2</span></a>·<a·id="y2:62"·class="idref"·href="#y2:62"><span·class="id"·title="binder">y2</span></a>·<a·id="tx:63"·class="idref"·href="#tx:63"><span·class="id"·title="binder">tx</span></a>·<a·id="ty:64"·class="idref"·href="#ty:64"><span·class="id"·title="binder">ty</span></a>·<a·id="theta:65"·class="idref"·href="#theta:65"><span·class="id"·title="binder">theta</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 153 |   <span·class="id"·title="keyword">forall</span>·<a·id="x1:59"·class="idref"·href="#x1:59"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:60"·class="idref"·href="#y1:60"><span·class="id"·title="binder">y1</span></a>·<a·id="x2:61"·class="idref"·href="#x2:61"><span·class="id"·title="binder">x2</span></a>·<a·id="y2:62"·class="idref"·href="#y2:62"><span·class="id"·title="binder">y2</span></a>·<a·id="tx:63"·class="idref"·href="#tx:63"><span·class="id"·title="binder">tx</span></a>·<a·id="ty:64"·class="idref"·href="#ty:64"><span·class="id"·title="binder">ty</span></a>·<a·id="theta:65"·class="idref"·href="#theta:65"><span·class="id"·title="binder">theta</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 
| Offset 58, 15 lines modified | Offset 58, 15 lines modified | ||
| 58 | <br/> | 58 | <br/> | 
| 59 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 59 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 60 | <br/> | 60 | <br/> | 
| 61 | </div> | 61 | </div> | 
| 62 | <div·class="doc"> | 62 | <div·class="doc"> | 
| 63 | <a·id="lab | 63 | <a·id="lab184"></a><h1·class="section">Each·bounded·subset·of·N·has·a·maximal·element</h1> | 
| 64 | </div> | 64 | </div> | 
| 65 | <div·class="code"> | 65 | <div·class="code"> | 
| 66 | <br/> | 66 | <br/> | 
| 67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nbound"·class="idref"·href="#Nbound"><span·class="id"·title="definition">Nbound</span></a>·(<a·id="I:1"·class="idref"·href="#I:1"><span·class="id"·title="binder">I</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nbound"·class="idref"·href="#Nbound"><span·class="id"·title="definition">Nbound</span></a>·(<a·id="I:1"·class="idref"·href="#I:1"><span·class="id"·title="binder">I</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 68 |   <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="i:3"·class="idref"·href="#i:3"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:1"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:3"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:3"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:2"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">)</span></a>.<br/> | 68 |   <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="i:3"·class="idref"·href="#i:3"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:1"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:3"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:3"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:2"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">)</span></a>.<br/> | 
| Offset 80, 15 lines modified | Offset 80, 15 lines modified | ||
| 80 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="n:7"·class="idref"·href="#n:7"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:7"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 80 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="n:7"·class="idref"·href="#n:7"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:7"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 81 |     <a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Nbound"><span·class="id"·title="definition">Nbound</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="n:8"·class="idref"·href="#n:8"><span·class="id"·title="binder">n</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:8"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="i:9"·class="idref"·href="#i:9"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:9"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:9"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:8"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 81 |     <a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Nbound"><span·class="id"·title="definition">Nbound</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="n:8"·class="idref"·href="#n:8"><span·class="id"·title="binder">n</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:8"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="i:9"·class="idref"·href="#i:9"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:9"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:9"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:8"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 82 | <br/> | 82 | <br/> | 
| 83 | </div> | 83 | </div> | 
| 84 | <div·class="doc"> | 84 | <div·class="doc"> | 
| 85 | <a·id="lab | 85 | <a·id="lab185"></a><h1·class="section">Step·functions</h1> | 
| 86 | </div> | 86 | </div> | 
| 87 | <div·class="code"> | 87 | <div·class="code"> | 
| 88 | <br/> | 88 | <br/> | 
| 89 | <span·class="id"·title="keyword">Definition</span>·<a·id="open_interval"·class="idref"·href="#open_interval"><span·class="id"·title="definition">open_interval</span></a>·(<a·id="a:18"·class="idref"·href="#a:18"><span·class="id"·title="binder">a</span></a>·<a·id="b:19"·class="idref"·href="#b:19"><span·class="id"·title="binder">b</span></a>·<a·id="x:20"·class="idref"·href="#x:20"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:18"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:19"><span·class="id"·title="variable">b</span></a>.<br/> | 89 | <span·class="id"·title="keyword">Definition</span>·<a·id="open_interval"·class="idref"·href="#open_interval"><span·class="id"·title="definition">open_interval</span></a>·(<a·id="a:18"·class="idref"·href="#a:18"><span·class="id"·title="binder">a</span></a>·<a·id="b:19"·class="idref"·href="#b:19"><span·class="id"·title="binder">b</span></a>·<a·id="x:20"·class="idref"·href="#x:20"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:18"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:19"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 90 | <span·class="id"·title="keyword">Definition</span>·<a·id="co_interval"·class="idref"·href="#co_interval"><span·class="id"·title="definition">co_interval</span></a>·(<a·id="a:21"·class="idref"·href="#a:21"><span·class="id"·title="binder">a</span></a>·<a·id="b:22"·class="idref"·href="#b:22"><span·class="id"·title="binder">b</span></a>·<a·id="x:23"·class="idref"·href="#x:23"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:21"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#b6aaeb1973f5e630a6779ff194ed22e3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#b6aaeb1973f5e630a6779ff194ed22e3"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:22"><span·class="id"·title="variable">b</span></a>.<br/> | 90 | <span·class="id"·title="keyword">Definition</span>·<a·id="co_interval"·class="idref"·href="#co_interval"><span·class="id"·title="definition">co_interval</span></a>·(<a·id="a:21"·class="idref"·href="#a:21"><span·class="id"·title="binder">a</span></a>·<a·id="b:22"·class="idref"·href="#b:22"><span·class="id"·title="binder">b</span></a>·<a·id="x:23"·class="idref"·href="#x:23"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:21"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#b6aaeb1973f5e630a6779ff194ed22e3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#b6aaeb1973f5e630a6779ff194ed22e3"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:22"><span·class="id"·title="variable">b</span></a>.<br/> | 
| Offset 120, 15 lines modified | Offset 120, 15 lines modified | ||
| 120 | <span·class="id"·title="keyword">Definition</span>·<a·id="IsStepFun"·class="idref"·href="#IsStepFun"><span·class="id"·title="definition">IsStepFun</span></a>·(<a·id="f:42"·class="idref"·href="#f:42"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="a:43"·class="idref"·href="#a:43"><span·class="id"·title="binder">a</span></a>·<a·id="b:44"·class="idref"·href="#b:44"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 120 | <span·class="id"·title="keyword">Definition</span>·<a·id="IsStepFun"·class="idref"·href="#IsStepFun"><span·class="id"·title="definition">IsStepFun</span></a>·(<a·id="f:42"·class="idref"·href="#f:42"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="a:43"·class="idref"·href="#a:43"><span·class="id"·title="binder">a</span></a>·<a·id="b:44"·class="idref"·href="#b:44"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 
| 121 |   <a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">{</span></a>·<a·id="l:45"·class="idref"·href="#l:45"><span·class="id"·title="binder">l</span></a><a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">&</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#is_subdivision"><span·class="id"·title="definition">is_subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:42"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:43"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:44"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#l:45"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">}</span></a>.<br/> | 121 |   <a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">{</span></a>·<a·id="l:45"·class="idref"·href="#l:45"><span·class="id"·title="binder">l</span></a><a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">&</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#is_subdivision"><span·class="id"·title="definition">is_subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:42"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:43"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:44"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#l:45"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 122 | <br/> | 122 | <br/> | 
| 123 | </div> | 123 | </div> | 
| 124 | <div·class="doc"> | 124 | <div·class="doc"> | 
| 125 | <a·id="lab | 125 | <a·id="lab186"></a><h2·class="section">Class·of·step·functions</h2> | 
| 126 | </div> | 126 | </div> | 
| 127 | <div·class="code"> | 127 | <div·class="code"> | 
| 128 | <span·class="id"·title="keyword">Record</span>·<a·id="StepFun"·class="idref"·href="#StepFun"><span·class="id"·title="record">StepFun</span></a>·(<a·id="a:46"·class="idref"·href="#a:46"><span·class="id"·title="binder">a</span></a>·<a·id="b:47"·class="idref"·href="#b:47"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=·<span·class="id"·title="var">mkStepFun</span><br/> | 128 | <span·class="id"·title="keyword">Record</span>·<a·id="StepFun"·class="idref"·href="#StepFun"><span·class="id"·title="record">StepFun</span></a>·(<a·id="a:46"·class="idref"·href="#a:46"><span·class="id"·title="binder">a</span></a>·<a·id="b:47"·class="idref"·href="#b:47"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=·<span·class="id"·title="var">mkStepFun</span><br/> | 
| 129 |   {<a·id="fe"·class="idref"·href="#fe"><span·class="id"·title="projection">fe</span></a>·:>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>;·<a·id="pre"·class="idref"·href="#pre"><span·class="id"·title="projection">pre</span></a>·:·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#IsStepFun"><span·class="id"·title="definition">IsStepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#fe:49"><span·class="id"·title="method">fe</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:46"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:47"><span·class="id"·title="variable">b</span></a>}.<br/> | 129 |   {<a·id="fe"·class="idref"·href="#fe"><span·class="id"·title="projection">fe</span></a>·:>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>;·<a·id="pre"·class="idref"·href="#pre"><span·class="id"·title="projection">pre</span></a>·:·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#IsStepFun"><span·class="id"·title="definition">IsStepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#fe:49"><span·class="id"·title="method">fe</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:46"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:47"><span·class="id"·title="variable">b</span></a>}.<br/> | 
| 130 | <br/> | 130 | <br/> | 
| Offset 152, 29 lines modified | Offset 152, 29 lines modified | ||
| 152 |       <span·class="id"·title="keyword">end</span><br/> | 152 |       <span·class="id"·title="keyword">end</span><br/> | 
| 153 |   <span·class="id"·title="keyword">end</span>.<br/> | 153 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 154 | <br/> | 154 | <br/> | 
| 155 | </div> | 155 | </div> | 
| 156 | <div·class="doc"> | 156 | <div·class="doc"> | 
| 157 | <a·id="lab | 157 | <a·id="lab187"></a><h2·class="section">Integral·of·step·functions</h2> | 
| 158 | </div> | 158 | </div> | 
| 159 | <div·class="code"> | 159 | <div·class="code"> | 
| 160 | <span·class="id"·title="keyword">Definition</span>·<a·id="RiemannInt_SF"·class="idref"·href="#RiemannInt_SF"><span·class="id"·title="definition">RiemannInt_SF</span></a>·(<a·id="a:62"·class="idref"·href="#a:62"><span·class="id"·title="binder">a</span></a>·<a·id="b:63"·class="idref"·href="#b:63"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="f:64"·class="idref"·href="#f:64"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#StepFun"><span·class="id"·title="record">StepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:62"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:63"><span·class="id"·title="variable">b</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 160 | <span·class="id"·title="keyword">Definition</span>·<a·id="RiemannInt_SF"·class="idref"·href="#RiemannInt_SF"><span·class="id"·title="definition">RiemannInt_SF</span></a>·(<a·id="a:62"·class="idref"·href="#a:62"><span·class="id"·title="binder">a</span></a>·<a·id="b:63"·class="idref"·href="#b:63"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="f:64"·class="idref"·href="#f:64"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#StepFun"><span·class="id"·title="record">StepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:62"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:63"><span·class="id"·title="variable">b</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 
| 161 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rle_dec"><span·class="id"·title="lemma">Rle_dec</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:62"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:63"><span·class="id"·title="variable">b</span></a>·<span·class="id"·title="keyword">with</span><br/> | 161 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rle_dec"><span·class="id"·title="lemma">Rle_dec</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:62"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:63"><span·class="id"·title="variable">b</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| 162 |     |·<a·class="idref"·href="Coq.Init.Specif.html#left"><span·class="id"·title="constructor">left</span></a>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Int_SF"><span·class="id"·title="definition">Int_SF</span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision_val"><span·class="id"·title="definition">subdivision_val</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision"><span·class="id"·title="definition">subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)<br/> | 162 |     |·<a·class="idref"·href="Coq.Init.Specif.html#left"><span·class="id"·title="constructor">left</span></a>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Int_SF"><span·class="id"·title="definition">Int_SF</span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision_val"><span·class="id"·title="definition">subdivision_val</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision"><span·class="id"·title="definition">subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)<br/> | 
| 163 |     |·<a·class="idref"·href="Coq.Init.Specif.html#right"><span·class="id"·title="constructor">right</span></a>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Int_SF"><span·class="id"·title="definition">Int_SF</span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision_val"><span·class="id"·title="definition">subdivision_val</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision"><span·class="id"·title="definition">subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)<br/> | 163 |     |·<a·class="idref"·href="Coq.Init.Specif.html#right"><span·class="id"·title="constructor">right</span></a>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Int_SF"><span·class="id"·title="definition">Int_SF</span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision_val"><span·class="id"·title="definition">subdivision_val</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision"><span·class="id"·title="definition">subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)<br/> | 
| 164 |   <span·class="id"·title="keyword">end</span>.<br/> | 164 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 165 | <br/> | 165 | <br/> | 
| 166 | </div> | 166 | </div> | 
| 167 | <div·class="doc"> | 167 | <div·class="doc"> | 
| 168 | <a·id="lab | 168 | <a·id="lab188"></a><h2·class="section">Properties·of·step·functions</h2> | 
| 169 | </div> | 169 | </div> | 
| 170 | <div·class="code"> | 170 | <div·class="code"> | 
| 171 | <br/> | 171 | <br/> | 
| 172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="StepFun_P1"·class="idref"·href="#StepFun_P1"><span·class="id"·title="lemma">StepFun_P1</span></a>·:<br/> | 172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="StepFun_P1"·class="idref"·href="#StepFun_P1"><span·class="id"·title="lemma">StepFun_P1</span></a>·:<br/> | 
| 173 |   <span·class="id"·title="keyword">forall</span>·(<a·id="a:65"·class="idref"·href="#a:65"><span·class="id"·title="binder">a</span></a>·<a·id="b:66"·class="idref"·href="#b:66"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="f:67"·class="idref"·href="#f:67"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#StepFun"><span·class="id"·title="record">StepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:65"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:66"><span·class="id"·title="variable">b</span></a>),<br/> | 173 |   <span·class="id"·title="keyword">forall</span>·(<a·id="a:65"·class="idref"·href="#a:65"><span·class="id"·title="binder">a</span></a>·<a·id="b:66"·class="idref"·href="#b:66"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="f:67"·class="idref"·href="#f:67"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#StepFun"><span·class="id"·title="record">StepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:65"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:66"><span·class="id"·title="variable">b</span></a>),<br/> | 
| Offset 59, 15 lines modified | Offset 59, 15 lines modified | ||
| 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>.<br/> | 
| 60 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 60 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 61 | <br/> | 61 | <br/> | 
| 62 | </div> | 62 | </div> | 
| 63 | <div·class="doc"> | 63 | <div·class="doc"> | 
| 64 | <a·id="lab | 64 | <a·id="lab94"></a><h1·class="section">Calculus</h1> | 
| 65 | </div> | 65 | </div> | 
| 66 | <div·class="code"> | 66 | <div·class="code"> | 
| 67 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eps2_Rgt_R0"·class="idref"·href="#eps2_Rgt_R0"><span·class="id"·title="lemma">eps2_Rgt_R0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="eps:1"·class="idref"·href="#eps:1"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:1"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:1"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> | 67 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eps2_Rgt_R0"·class="idref"·href="#eps2_Rgt_R0"><span·class="id"·title="lemma">eps2_Rgt_R0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="eps:1"·class="idref"·href="#eps:1"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:1"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:1"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> | 
| 68 | <br/> | 68 | <br/> | 
| 69 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eps2"·class="idref"·href="#eps2"><span·class="id"·title="lemma">eps2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="eps:2"·class="idref"·href="#eps:2"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>.<br/> | 69 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eps2"·class="idref"·href="#eps2"><span·class="id"·title="lemma">eps2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="eps:2"·class="idref"·href="#eps:2"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>.<br/> | 
| Offset 97, 15 lines modified | Offset 97, 15 lines modified | ||
| 97 | <span·class="id"·title="keyword">Lemma</span>·<a·id="mul_factor_gt_f"·class="idref"·href="#mul_factor_gt_f"><span·class="id"·title="lemma">mul_factor_gt_f</span></a>·:<br/> | 97 | <span·class="id"·title="keyword">Lemma</span>·<a·id="mul_factor_gt_f"·class="idref"·href="#mul_factor_gt_f"><span·class="id"·title="lemma">mul_factor_gt_f</span></a>·:<br/> | 
| 98 |   <span·class="id"·title="keyword">forall</span>·<a·id="eps:15"·class="idref"·href="#eps:15"><span·class="id"·title="binder">eps</span></a>·<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="l':17"·class="idref"·href="#l':17"><span·class="id"·title="binder">l'</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:15"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rmin"><span·class="id"·title="definition">Rmin</span></a>·1·(<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:15"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#mul_factor"><span·class="id"·title="definition">mul_factor</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#l:16"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#l':17"><span·class="id"·title="variable">l'</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> | 98 |   <span·class="id"·title="keyword">forall</span>·<a·id="eps:15"·class="idref"·href="#eps:15"><span·class="id"·title="binder">eps</span></a>·<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="l':17"·class="idref"·href="#l':17"><span·class="id"·title="binder">l'</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:15"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rmin"><span·class="id"·title="definition">Rmin</span></a>·1·(<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:15"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#mul_factor"><span·class="id"·title="definition">mul_factor</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#l:16"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#l':17"><span·class="id"·title="variable">l'</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> | 
| 99 | <br/> | 99 | <br/> | 
| 100 | </div> | 100 | </div> | 
| 101 | <div·class="doc"> | 101 | <div·class="doc"> | 
| 102 | <a·id="lab | 102 | <a·id="lab95"></a><h1·class="section">Metric·space</h1> | 
| 103 | <div·class="paragraph">·</div> | 103 | <div·class="paragraph">·</div> | 
| 104 | </div> | 104 | </div> | 
| 105 | <div·class="code"> | 105 | <div·class="code"> | 
| 106 | <span·class="id"·title="keyword">Record</span>·<a·id="Metric_Space"·class="idref"·href="#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 106 | <span·class="id"·title="keyword">Record</span>·<a·id="Metric_Space"·class="idref"·href="#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 
| Offset 116, 15 lines modified | Offset 116, 15 lines modified | ||
| 116 |     <a·id="dist_refl"·class="idref"·href="#dist_refl"><span·class="id"·title="projection">dist_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="y:28"·class="idref"·href="#y:28"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base:19"><span·class="id"·title="method">Base</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:28"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:28"><span·class="id"·title="variable">y</span></a>;<br/> | 116 |     <a·id="dist_refl"·class="idref"·href="#dist_refl"><span·class="id"·title="projection">dist_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="y:28"·class="idref"·href="#y:28"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base:19"><span·class="id"·title="method">Base</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:28"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:28"><span·class="id"·title="variable">y</span></a>;<br/> | 
| 117 |     <a·id="dist_tri"·class="idref"·href="#dist_tri"><span·class="id"·title="projection">dist_tri</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:30"·class="idref"·href="#x:30"><span·class="id"·title="binder">x</span></a>·<a·id="y:31"·class="idref"·href="#y:31"><span·class="id"·title="binder">y</span></a>·<a·id="z:32"·class="idref"·href="#z:32"><span·class="id"·title="binder">z</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base:19"><span·class="id"·title="method">Base</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:30"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:31"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:30"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#z:32"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#z:32"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:31"><span·class="id"·title="variable">y</span></a>}.<br/> | 117 |     <a·id="dist_tri"·class="idref"·href="#dist_tri"><span·class="id"·title="projection">dist_tri</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:30"·class="idref"·href="#x:30"><span·class="id"·title="binder">x</span></a>·<a·id="y:31"·class="idref"·href="#y:31"><span·class="id"·title="binder">y</span></a>·<a·id="z:32"·class="idref"·href="#z:32"><span·class="id"·title="binder">z</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base:19"><span·class="id"·title="method">Base</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:30"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:31"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:30"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#z:32"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#z:32"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:31"><span·class="id"·title="variable">y</span></a>}.<br/> | 
| 118 | <br/> | 118 | <br/> | 
| 119 | </div> | 119 | </div> | 
| 120 | <div·class="doc"> | 120 | <div·class="doc"> | 
| 121 | <a·id="lab | 121 | <a·id="lab96"></a><h2·class="section">Limit·in·Metric·space</h2> | 
| 122 | <div·class="paragraph">·</div> | 122 | <div·class="paragraph">·</div> | 
| 123 | </div> | 123 | </div> | 
| 124 | <div·class="code"> | 124 | <div·class="code"> | 
| 125 | <span·class="id"·title="keyword">Definition</span>·<a·id="limit_in"·class="idref"·href="#limit_in"><span·class="id"·title="definition">limit_in</span></a>·(<a·id="X:34"·class="idref"·href="#X:34"><span·class="id"·title="binder">X</span></a>·<a·id="X':35"·class="idref"·href="#X':35"><span·class="id"·title="binder">X'</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>)·(<a·id="f:36"·class="idref"·href="#f:36"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X':35"><span·class="id"·title="variable">X'</span></a>)<br/> | 125 | <span·class="id"·title="keyword">Definition</span>·<a·id="limit_in"·class="idref"·href="#limit_in"><span·class="id"·title="definition">limit_in</span></a>·(<a·id="X:34"·class="idref"·href="#X:34"><span·class="id"·title="binder">X</span></a>·<a·id="X':35"·class="idref"·href="#X':35"><span·class="id"·title="binder">X'</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>)·(<a·id="f:36"·class="idref"·href="#f:36"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X':35"><span·class="id"·title="variable">X'</span></a>)<br/> | 
| Offset 135, 15 lines modified | Offset 135, 15 lines modified | ||
| 135 |       <a·class="idref"·href="Coq.Reals.Rlimit.html#alp:41"><span·class="id"·title="variable">alp</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 135 |       <a·class="idref"·href="Coq.Reals.Rlimit.html#alp:41"><span·class="id"·title="variable">alp</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 
| 136 |       <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><span·class="id"·title="variable">X</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#D:37"><span·class="id"·title="variable">D</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·(<a·class="idref"·href="Coq.Reals.Rlimit.html#dist"><span·class="id"·title="projection">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><span·class="id"·title="variable">X</span></a>)·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x0:38"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#alp:41"><span·class="id"·title="variable">alp</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·(<a·class="idref"·href="Coq.Reals.Rlimit.html#dist"><span·class="id"·title="projection">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X':35"><span·class="id"·title="variable">X'</span></a>)·(<a·class="idref"·href="Coq.Reals.Rlimit.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rlimit.html#l:39"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:40"><span·class="id"·title="variable">eps</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> | 136 |       <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><span·class="id"·title="variable">X</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#D:37"><span·class="id"·title="variable">D</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·(<a·class="idref"·href="Coq.Reals.Rlimit.html#dist"><span·class="id"·title="projection">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><span·class="id"·title="variable">X</span></a>)·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x0:38"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#alp:41"><span·class="id"·title="variable">alp</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·(<a·class="idref"·href="Coq.Reals.Rlimit.html#dist"><span·class="id"·title="projection">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X':35"><span·class="id"·title="variable">X'</span></a>)·(<a·class="idref"·href="Coq.Reals.Rlimit.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rlimit.html#l:39"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:40"><span·class="id"·title="variable">eps</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 137 | <br/> | 137 | <br/> | 
| 138 | </div> | 138 | </div> | 
| 139 | <div·class="doc"> | 139 | <div·class="doc"> | 
| 140 | <a·id="lab | 140 | <a·id="lab97"></a><h2·class="section">R·is·a·metric·space</h2> | 
| 141 | <div·class="paragraph">·</div> | 141 | <div·class="paragraph">·</div> | 
| 142 | </div> | 142 | </div> | 
| 143 | <div·class="code"> | 143 | <div·class="code"> | 
| 144 | <span·class="id"·title="keyword">Definition</span>·<a·id="R_met"·class="idref"·href="#R_met"><span·class="id"·title="definition">R_met</span></a>·:·<a·class="idref"·href="Coq.Reals.Rlimit.html#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>·:=<br/> | 144 | <span·class="id"·title="keyword">Definition</span>·<a·id="R_met"·class="idref"·href="#R_met"><span·class="id"·title="definition">R_met</span></a>·:·<a·class="idref"·href="Coq.Reals.Rlimit.html#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>·:=<br/> | 
| Offset 151, 15 lines modified | Offset 151, 15 lines modified | ||
| 151 | <br/> | 151 | <br/> | 
| 152 | <br/> | 152 | <br/> | 
| 153 | </div> | 153 | </div> | 
| 154 | <div·class="doc"> | 154 | <div·class="doc"> | 
| 155 | <a·id="lab | 155 | <a·id="lab98"></a><h1·class="section">Limit·1·arg</h1> | 
| 156 | </div> | 156 | </div> | 
| 157 | <div·class="code"> | 157 | <div·class="code"> | 
| 158 | <span·class="id"·title="keyword">Definition</span>·<a·id="Dgf"·class="idref"·href="#Dgf"><span·class="id"·title="definition">Dgf</span></a>·(<a·id="Df:43"·class="idref"·href="#Df:43"><span·class="id"·title="binder">Df</span></a>·<a·id="Dg:44"·class="idref"·href="#Dg:44"><span·class="id"·title="binder">Dg</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="f:45"·class="idref"·href="#f:45"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="x:46"·class="idref"·href="#x:46"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:=·<a·class="idref"·href="Coq.Reals.Rlimit.html#Df:43"><span·class="id"·title="variable">Df</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:46"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#Dg:44"><span·class="id"·title="variable">Dg</span></a>·(<a·class="idref"·href="Coq.Reals.Rlimit.html#f:45"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:46"><span·class="id"·title="variable">x</span></a>).<br/> | 158 | <span·class="id"·title="keyword">Definition</span>·<a·id="Dgf"·class="idref"·href="#Dgf"><span·class="id"·title="definition">Dgf</span></a>·(<a·id="Df:43"·class="idref"·href="#Df:43"><span·class="id"·title="binder">Df</span></a>·<a·id="Dg:44"·class="idref"·href="#Dg:44"><span·class="id"·title="binder">Dg</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="f:45"·class="idref"·href="#f:45"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="x:46"·class="idref"·href="#x:46"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:=·<a·class="idref"·href="Coq.Reals.Rlimit.html#Df:43"><span·class="id"·title="variable">Df</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:46"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#Dg:44"><span·class="id"·title="variable">Dg</span></a>·(<a·class="idref"·href="Coq.Reals.Rlimit.html#f:45"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:46"><span·class="id"·title="variable">x</span></a>).<br/> | 
| 159 | <br/> | 159 | <br/> | 
| 160 | <span·class="id"·title="keyword">Definition</span>·<a·id="limit1_in"·class="idref"·href="#limit1_in"><span·class="id"·title="definition">limit1_in</span></a>·(<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="D:48"·class="idref"·href="#D:48"><span·class="id"·title="binder">D</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="l:49"·class="idref"·href="#l:49"><span·class="id"·title="binder">l</span></a>·<a·id="x0:50"·class="idref"·href="#x0:50"><span·class="id"·title="binder">x0</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 160 | <span·class="id"·title="keyword">Definition</span>·<a·id="limit1_in"·class="idref"·href="#limit1_in"><span·class="id"·title="definition">limit1_in</span></a>·(<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="D:48"·class="idref"·href="#D:48"><span·class="id"·title="binder">D</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="l:49"·class="idref"·href="#l:49"><span·class="id"·title="binder">l</span></a>·<a·id="x0:50"·class="idref"·href="#x0:50"><span·class="id"·title="binder">x0</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| Offset 71, 15 lines modified | Offset 71, 15 lines modified | ||
| 71 | <br/> | 71 | <br/> | 
| 72 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.RIneq.html#"><span·class="id"·title="library">RIneq</span></a>.<br/> | 72 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.RIneq.html#"><span·class="id"·title="library">RIneq</span></a>.<br/> | 
| 73 | <br/> | 73 | <br/> | 
| 74 | </div> | 74 | </div> | 
| 75 | <div·class="doc"> | 75 | <div·class="doc"> | 
| 76 | <a·id="lab | 76 | <a·id="lab57"></a><h1·class="section">Decidability·of·arithmetical·statements</h1> | 
| 77 | <div·class="paragraph">·</div> | 77 | <div·class="paragraph">·</div> | 
| 78 | ·One·can·iterate·this·lemma·and·use·classical·logic·to·decide·any | 78 | ·One·can·iterate·this·lemma·and·use·classical·logic·to·decide·any | 
| 79 | statement·in·the·arithmetical·hierarchy.· | 79 | statement·in·the·arithmetical·hierarchy.· | 
| 80 | </div> | 80 | </div> | 
| 81 | <div·class="code"> | 81 | <div·class="code"> | 
| Offset 97, 15 lines modified | Offset 97, 15 lines modified | ||
| 97 | <br/> | 97 | <br/> | 
| 98 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Reals.Rlogic.html#Arithmetical_dec"><span·class="id"·title="section">Arithmetical_dec</span></a>.<br/> | 98 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Reals.Rlogic.html#Arithmetical_dec"><span·class="id"·title="section">Arithmetical_dec</span></a>.<br/> | 
| 99 | <br/> | 99 | <br/> | 
| 100 | </div> | 100 | </div> | 
| 101 | <div·class="doc"> | 101 | <div·class="doc"> | 
| 102 | <a·id="lab | 102 | <a·id="lab58"></a><h1·class="section">Derivability·of·the·Archimedean·axiom</h1> | 
| 103 | <div·class="paragraph">·</div> | 103 | <div·class="paragraph">·</div> | 
| 104 | ·This·is·a·standard·proof·(it·has·been·taken·from·PlanetMath).·It·is | 104 | ·This·is·a·standard·proof·(it·has·been·taken·from·PlanetMath).·It·is | 
| 105 | formulated·negatively·so·as·to·avoid·the·need·for·classical | 105 | formulated·negatively·so·as·to·avoid·the·need·for·classical | 
| 106 | logic.·Using·a·proof·of·<span·class="inlinecode">{<span·class="id"·title="var">n</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode">~<span·class="id"·title="var">P</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>}+{<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>}</span>,·we·can·in | 106 | logic.·Using·a·proof·of·<span·class="inlinecode">{<span·class="id"·title="var">n</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode">~<span·class="id"·title="var">P</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>}+{<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>}</span>,·we·can·in | 
| 107 | principle·also·derive·<span·class="inlinecode"><span·class="id"·title="var">up</span></span>·and·its·specification.·The·proof·above | 107 | principle·also·derive·<span·class="inlinecode"><span·class="id"·title="var">up</span></span>·and·its·specification.·The·proof·above | 
| Offset 117, 15 lines modified | Offset 117, 15 lines modified | ||
| 117 | <span·class="id"·title="keyword">Theorem</span>·<a·id="not_not_archimedean"·class="idref"·href="#not_not_archimedean"><span·class="id"·title="lemma">not_not_archimedean</span></a>·:<br/> | 117 | <span·class="id"·title="keyword">Theorem</span>·<a·id="not_not_archimedean"·class="idref"·href="#not_not_archimedean"><span·class="id"·title="lemma">not_not_archimedean</span></a>·:<br/> | 
| 118 |   <span·class="id"·title="keyword">forall</span>·<a·id="r:22"·class="idref"·href="#r:22"><span·class="id"·title="binder">r</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:23"·class="idref"·href="#n:23"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·(<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#n:23"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#r:22"><span·class="id"·title="variable">r</span></a>)%<span·class="id"·title="var">R</span><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">)</span></a>.<br/> | 118 |   <span·class="id"·title="keyword">forall</span>·<a·id="r:22"·class="idref"·href="#r:22"><span·class="id"·title="binder">r</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:23"·class="idref"·href="#n:23"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·(<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#n:23"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#r:22"><span·class="id"·title="variable">r</span></a>)%<span·class="id"·title="var">R</span><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 119 | <br/> | 119 | <br/> | 
| 120 | </div> | 120 | </div> | 
| 121 | <div·class="doc"> | 121 | <div·class="doc"> | 
| 122 | <a·id="lab | 122 | <a·id="lab59"></a><h1·class="section">Decidability·of·negated·formulas</h1> | 
| 123 | </div> | 123 | </div> | 
| 124 | <div·class="code"> | 124 | <div·class="code"> | 
| 125 | <br/> | 125 | <br/> | 
| 126 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sig_not_dec"·class="idref"·href="#sig_not_dec"><span·class="id"·title="lemma">sig_not_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="P:30"·class="idref"·href="#P:30"><span·class="id"·title="binder">P</span></a>·:·<span·class="id"·title="keyword">Prop</span>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Init.Logic.html#not"><span·class="id"·title="definition">not</span></a>·(<a·class="idref"·href="Coq.Init.Logic.html#not"><span·class="id"·title="definition">not</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#P:30"><span·class="id"·title="variable">P</span></a>)<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Init.Logic.html#not"><span·class="id"·title="definition">not</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#P:30"><span·class="id"·title="variable">P</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 126 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sig_not_dec"·class="idref"·href="#sig_not_dec"><span·class="id"·title="lemma">sig_not_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="P:30"·class="idref"·href="#P:30"><span·class="id"·title="binder">P</span></a>·:·<span·class="id"·title="keyword">Prop</span>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Init.Logic.html#not"><span·class="id"·title="definition">not</span></a>·(<a·class="idref"·href="Coq.Init.Logic.html#not"><span·class="id"·title="definition">not</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#P:30"><span·class="id"·title="variable">P</span></a>)<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Init.Logic.html#not"><span·class="id"·title="definition">not</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#P:30"><span·class="id"·title="variable">P</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 127 | </div> | 127 | </div> | 
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <br/> | 51 | <br/> | 
| 52 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">real</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">real</span>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab173"></a><h1·class="section">Maximum·and·Minimum·of·two·real·numbers</h1> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="code"> | 58 | <div·class="code"> | 
| 59 | <br/> | 59 | <br/> | 
| 60 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 60 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| Offset 108, 15 lines modified | Offset 108, 15 lines modified | ||
| 108 | <br/> | 108 | <br/> | 
| 109 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#UsualMinMaxProperties"><span·class="id"·title="module">UsualMinMaxProperties</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#R_as_OT"><span·class="id"·title="module">R_as_OT</span></a>·<a·class="idref"·href="Coq.Reals.Rminmax.html#RHasMinMax"><span·class="id"·title="module">RHasMinMax</span></a>.<br/> | 109 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#UsualMinMaxProperties"><span·class="id"·title="module">UsualMinMaxProperties</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#R_as_OT"><span·class="id"·title="module">R_as_OT</span></a>·<a·class="idref"·href="Coq.Reals.Rminmax.html#RHasMinMax"><span·class="id"·title="module">RHasMinMax</span></a>.<br/> | 
| 110 | <br/> | 110 | <br/> | 
| 111 | </div> | 111 | </div> | 
| 112 | <div·class="doc"> | 112 | <div·class="doc"> | 
| 113 | <a·id="lab | 113 | <a·id="lab174"></a><h1·class="section">Properties·specific·to·the·<span·class="inlinecode"><span·class="id"·title="var">R</span></span>·domain</h1> | 
| 114 | <div·class="paragraph">·</div> | 114 | <div·class="paragraph">·</div> | 
| 115 | ·Compatibilities·(consequences·of·monotonicity)· | 115 | ·Compatibilities·(consequences·of·monotonicity)· | 
| 116 | </div> | 116 | </div> | 
| 117 | <div·class="code"> | 117 | <div·class="code"> | 
| Offset 72, 15 lines modified | Offset 72, 15 lines modified | ||
| 72 | <br/> | 72 | <br/> | 
| 73 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_le_3"·class="idref"·href="#exp_le_3"><span·class="id"·title="lemma">exp_le_3</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·3.<br/> | 73 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_le_3"·class="idref"·href="#exp_le_3"><span·class="id"·title="lemma">exp_le_3</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·3.<br/> | 
| 74 | <br/> | 74 | <br/> | 
| 75 | </div> | 75 | </div> | 
| 76 | <div·class="doc"> | 76 | <div·class="doc"> | 
| 77 | <a·id="lab | 77 | <a·id="lab99"></a><h1·class="section">Properties·of··Exp</h1> | 
| 78 | </div> | 78 | </div> | 
| 79 | <div·class="code"> | 79 | <div·class="code"> | 
| 80 | <br/> | 80 | <br/> | 
| 81 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_neq_0"·class="idref"·href="#exp_neq_0"><span·class="id"·title="lemma">exp_neq_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> | 81 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_neq_0"·class="idref"·href="#exp_neq_0"><span·class="id"·title="lemma">exp_neq_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> | 
| Offset 125, 15 lines modified | Offset 125, 15 lines modified | ||
| 125 | <br/> | 125 | <br/> | 
| 126 | <span·class="id"·title="keyword">Theorem</span>·<a·id="exp_Ropp"·class="idref"·href="#exp_Ropp"><span·class="id"·title="lemma">exp_Ropp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:43"·class="idref"·href="#x:43"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:43"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:43"><span·class="id"·title="variable">x</span></a>.<br/> | 126 | <span·class="id"·title="keyword">Theorem</span>·<a·id="exp_Ropp"·class="idref"·href="#exp_Ropp"><span·class="id"·title="lemma">exp_Ropp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:43"·class="idref"·href="#x:43"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:43"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:43"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 127 | <br/> | 127 | <br/> | 
| 128 | </div> | 128 | </div> | 
| 129 | <div·class="doc"> | 129 | <div·class="doc"> | 
| 130 | <a·id="lab1 | 130 | <a·id="lab100"></a><h1·class="section">Properties·of··Ln</h1> | 
| 131 | </div> | 131 | </div> | 
| 132 | <div·class="code"> | 132 | <div·class="code"> | 
| 133 | <br/> | 133 | <br/> | 
| 134 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_increasing"·class="idref"·href="#ln_increasing"><span·class="id"·title="lemma">ln_increasing</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:44"·class="idref"·href="#x:44"><span·class="id"·title="binder">x</span></a>·<a·id="y:45"·class="idref"·href="#y:45"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:44"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:44"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#y:45"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:44"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#y:45"><span·class="id"·title="variable">y</span></a>.<br/> | 134 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_increasing"·class="idref"·href="#ln_increasing"><span·class="id"·title="lemma">ln_increasing</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:44"·class="idref"·href="#x:44"><span·class="id"·title="binder">x</span></a>·<a·id="y:45"·class="idref"·href="#y:45"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:44"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:44"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#y:45"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:44"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#y:45"><span·class="id"·title="variable">y</span></a>.<br/> | 
| Offset 165, 27 lines modified | Offset 165, 27 lines modified | ||
| 165 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_continue"·class="idref"·href="#ln_continue"><span·class="id"·title="lemma">ln_continue</span></a>·:<br/> | 165 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_continue"·class="idref"·href="#ln_continue"><span·class="id"·title="lemma">ln_continue</span></a>·:<br/> | 
| 166 |   <span·class="id"·title="keyword">forall</span>·<a·id="y:57"·class="idref"·href="#y:57"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#y:57"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rderiv.html#continue_in"><span·class="id"·title="definition">continue_in</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:58"·class="idref"·href="#x:58"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·=>·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:58"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rpower.html#y:57"><span·class="id"·title="variable">y</span></a>.<br/> | 166 |   <span·class="id"·title="keyword">forall</span>·<a·id="y:57"·class="idref"·href="#y:57"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#y:57"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rderiv.html#continue_in"><span·class="id"·title="definition">continue_in</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:58"·class="idref"·href="#x:58"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·=>·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:58"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rpower.html#y:57"><span·class="id"·title="variable">y</span></a>.<br/> | 
| 167 | <br/> | 167 | <br/> | 
| 168 | </div> | 168 | </div> | 
| 169 | <div·class="doc"> | 169 | <div·class="doc"> | 
| 170 | <a·id="lab1 | 170 | <a·id="lab101"></a><h1·class="section">Definition·of··Rpower</h1> | 
| 171 | </div> | 171 | </div> | 
| 172 | <div·class="code"> | 172 | <div·class="code"> | 
| 173 | <br/> | 173 | <br/> | 
| 174 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rpower"·class="idref"·href="#Rpower"><span·class="id"·title="definition">Rpower</span></a>·(<a·id="x:59"·class="idref"·href="#x:59"><span·class="id"·title="binder">x</span></a>·<a·id="y:60"·class="idref"·href="#y:60"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·(<a·class="idref"·href="Coq.Reals.Rpower.html#y:60"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:59"><span·class="id"·title="variable">x</span></a>).<br/> | 174 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rpower"·class="idref"·href="#Rpower"><span·class="id"·title="definition">Rpower</span></a>·(<a·id="x:59"·class="idref"·href="#x:59"><span·class="id"·title="binder">x</span></a>·<a·id="y:60"·class="idref"·href="#y:60"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·(<a·class="idref"·href="Coq.Reals.Rpower.html#y:60"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:59"><span·class="id"·title="variable">x</span></a>).<br/> | 
| 175 | <br/> | 175 | <br/> | 
| 176 | </div> | 176 | </div> | 
| 177 | <div·class="doc"> | 177 | <div·class="doc"> | 
| 178 | <a·id="lab1 | 178 | <a·id="lab102"></a><h1·class="section">Properties·of··Rpower</h1> | 
| 179 | <div·class="paragraph">·</div> | 179 | <div·class="paragraph">·</div> | 
| 180 | ·Note:·<span·class="inlinecode"><span·class="id"·title="var">Rpower</span></span>·is·prolongated·to·<span·class="inlinecode">1</span>·on·negative·real·numbers·and | 180 | ·Note:·<span·class="inlinecode"><span·class="id"·title="var">Rpower</span></span>·is·prolongated·to·<span·class="inlinecode">1</span>·on·negative·real·numbers·and | 
| 181 | ····it·thus·does·not·extend·integer·power.·The·next·two·lemmas,·which | 181 | ····it·thus·does·not·extend·integer·power.·The·next·two·lemmas,·which | 
| 182 | ····hold·for·integer·power,·accidentally·hold·on·negative·real·numbers | 182 | ····hold·for·integer·power,·accidentally·hold·on·negative·real·numbers | 
| 183 | ····as·a·side·effect·of·the·default·value·taken·on·negative·real | 183 | ····as·a·side·effect·of·the·default·value·taken·on·negative·real | 
| Offset 244, 15 lines modified | Offset 244, 15 lines modified | ||
| 244 | <br/> | 244 | <br/> | 
| 245 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_lt_2"·class="idref"·href="#ln_lt_2"><span·class="id"·title="lemma">ln_lt_2</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·2.<br/> | 245 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_lt_2"·class="idref"·href="#ln_lt_2"><span·class="id"·title="lemma">ln_lt_2</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·2.<br/> | 
| 246 | <br/> | 246 | <br/> | 
| 247 | </div> | 247 | </div> | 
| 248 | <div·class="doc"> | 248 | <div·class="doc"> | 
| 249 | <a·id="lab1 | 249 | <a·id="lab103"></a><h1·class="section">Differentiability·of·Ln·and·Rpower</h1> | 
| 250 | </div> | 250 | </div> | 
| 251 | <div·class="code"> | 251 | <div·class="code"> | 
| 252 | <br/> | 252 | <br/> | 
| 253 | <span·class="id"·title="keyword">Theorem</span>·<a·id="limit1_ext"·class="idref"·href="#limit1_ext"><span·class="id"·title="lemma">limit1_ext</span></a>·:<br/> | 253 | <span·class="id"·title="keyword">Theorem</span>·<a·id="limit1_ext"·class="idref"·href="#limit1_ext"><span·class="id"·title="lemma">limit1_ext</span></a>·:<br/> | 
| 254 |   <span·class="id"·title="keyword">forall</span>·(<a·id="f:90"·class="idref"·href="#f:90"><span·class="id"·title="binder">f</span></a>·<a·id="g:91"·class="idref"·href="#g:91"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="D:92"·class="idref"·href="#D:92"><span·class="id"·title="binder">D</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="l:93"·class="idref"·href="#l:93"><span·class="id"·title="binder">l</span></a>·<a·id="x:94"·class="idref"·href="#x:94"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>),<br/> | 254 |   <span·class="id"·title="keyword">forall</span>·(<a·id="f:90"·class="idref"·href="#f:90"><span·class="id"·title="binder">f</span></a>·<a·id="g:91"·class="idref"·href="#g:91"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="D:92"·class="idref"·href="#D:92"><span·class="id"·title="binder">D</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="l:93"·class="idref"·href="#l:93"><span·class="id"·title="binder">l</span></a>·<a·id="x:94"·class="idref"·href="#x:94"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>),<br/> | 
| Offset 54, 15 lines modified | Offset 54, 15 lines modified | ||
| 54 | <br/> | 54 | <br/> | 
| 55 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">r</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> | 55 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">r</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> | 
| 56 | <br/> | 56 | <br/> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="doc"> | 58 | <div·class="doc"> | 
| 59 | <a·id="lab | 59 | <a·id="lab75"></a><h1·class="section">Definition·of·sequence·and·properties</h1> | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="code"> | 61 | <div·class="code"> | 
| 62 | <br/> | 62 | <br/> | 
| 63 | <span·class="id"·title="keyword">Section</span>·<a·id="sequence"·class="idref"·href="#sequence"><span·class="id"·title="section">sequence</span></a>.<br/> | 63 | <span·class="id"·title="keyword">Section</span>·<a·id="sequence"·class="idref"·href="#sequence"><span·class="id"·title="section">sequence</span></a>.<br/> | 
| Offset 126, 15 lines modified | Offset 126, 15 lines modified | ||
| 126 | <br/> | 126 | <br/> | 
| 127 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Reals.Rseries.html#sequence"><span·class="id"·title="section">sequence</span></a>.<br/> | 127 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Reals.Rseries.html#sequence"><span·class="id"·title="section">sequence</span></a>.<br/> | 
| 128 | <br/> | 128 | <br/> | 
| 129 | </div> | 129 | </div> | 
| 130 | <div·class="doc"> | 130 | <div·class="doc"> | 
| 131 | <a·id="lab | 131 | <a·id="lab76"></a><h1·class="section">Definition·of·Power·Series·and·properties</h1> | 
| 132 | </div> | 132 | </div> | 
| 133 | <div·class="code"> | 133 | <div·class="code"> | 
| 134 | <br/> | 134 | <br/> | 
| 135 | <span·class="id"·title="keyword">Section</span>·<a·id="Isequence"·class="idref"·href="#Isequence"><span·class="id"·title="section">Isequence</span></a>.<br/> | 135 | <span·class="id"·title="keyword">Section</span>·<a·id="Isequence"·class="idref"·href="#Isequence"><span·class="id"·title="section">Isequence</span></a>.<br/> | 
| Offset 55, 15 lines modified | Offset 55, 15 lines modified | ||
| 55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Logic.Classical_Pred_Type.html#"><span·class="id"·title="library">Classical_Pred_Type</span></a>.<br/> | 55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Logic.Classical_Pred_Type.html#"><span·class="id"·title="library">Classical_Pred_Type</span></a>.<br/> | 
| 56 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 56 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 57 | <br/> | 57 | <br/> | 
| 58 | </div> | 58 | </div> | 
| 59 | <div·class="doc"> | 59 | <div·class="doc"> | 
| 60 | <a·id="lab2 | 60 | <a·id="lab220"></a><h1·class="section">General·definitions·and·propositions</h1> | 
| 61 | </div> | 61 | </div> | 
| 62 | <div·class="code"> | 62 | <div·class="code"> | 
| 63 | <br/> | 63 | <br/> | 
| 64 | <span·class="id"·title="keyword">Definition</span>·<a·id="included"·class="idref"·href="#included"><span·class="id"·title="definition">included</span></a>·(<a·id="D1:1"·class="idref"·href="#D1:1"><span·class="id"·title="binder">D1</span></a>·<a·id="D2:2"·class="idref"·href="#D2:2"><span·class="id"·title="binder">D2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtopology.html#D1:1"><span·class="id"·title="variable">D1</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#D2:2"><span·class="id"·title="variable">D2</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:3"><span·class="id"·title="variable">x</span></a>.<br/> | 64 | <span·class="id"·title="keyword">Definition</span>·<a·id="included"·class="idref"·href="#included"><span·class="id"·title="definition">included</span></a>·(<a·id="D1:1"·class="idref"·href="#D1:1"><span·class="id"·title="binder">D1</span></a>·<a·id="D2:2"·class="idref"·href="#D2:2"><span·class="id"·title="binder">D2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtopology.html#D1:1"><span·class="id"·title="variable">D1</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#D2:2"><span·class="id"·title="variable">D2</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:3"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 65 | <span·class="id"·title="keyword">Definition</span>·<a·id="disc"·class="idref"·href="#disc"><span·class="id"·title="definition">disc</span></a>·(<a·id="x:4"·class="idref"·href="#x:4"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="delta:5"·class="idref"·href="#delta:5"><span·class="id"·title="binder">delta</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#posreal"><span·class="id"·title="record">posreal</span></a>)·(<a·id="y:6"·class="idref"·href="#y:6"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rtopology.html#y:6"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:4"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#delta:5"><span·class="id"·title="variable">delta</span></a>.<br/> | 65 | <span·class="id"·title="keyword">Definition</span>·<a·id="disc"·class="idref"·href="#disc"><span·class="id"·title="definition">disc</span></a>·(<a·id="x:4"·class="idref"·href="#x:4"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="delta:5"·class="idref"·href="#delta:5"><span·class="id"·title="binder">delta</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#posreal"><span·class="id"·title="record">posreal</span></a>)·(<a·id="y:6"·class="idref"·href="#y:6"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rtopology.html#y:6"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:4"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#delta:5"><span·class="id"·title="variable">delta</span></a>.<br/> | 
| Offset 303, 15 lines modified | Offset 303, 15 lines modified | ||
| 303 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="c:276"·class="idref"·href="#c:276"><span·class="id"·title="binder">c</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtopology.html#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:276"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:276"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 303 |     <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="c:276"·class="idref"·href="#c:276"><span·class="id"·title="binder">c</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtopology.html#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:276"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:276"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 304 |     <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="mx:277"·class="idref"·href="#mx:277"><span·class="id"·title="binder">mx</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="c:278"·class="idref"·href="#c:278"><span·class="id"·title="binder">c</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtopology.html#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:278"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#mx:277"><span·class="id"·title="variable">mx</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:278"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#mx:277"><span·class="id"·title="variable">mx</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><span·class="id"·title="variable">b</span></a>.<br/> | 304 |     <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="mx:277"·class="idref"·href="#mx:277"><span·class="id"·title="binder">mx</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="c:278"·class="idref"·href="#c:278"><span·class="id"·title="binder">c</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtopology.html#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:278"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#mx:277"><span·class="id"·title="variable">mx</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:278"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#mx:277"><span·class="id"·title="variable">mx</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 305 | <br/> | 305 | <br/> | 
| 306 | </div> | 306 | </div> | 
| 307 | <div·class="doc"> | 307 | <div·class="doc"> | 
| 308 | <a·id="lab22 | 308 | <a·id="lab221"></a><h1·class="section">Proof·of·Bolzano-Weierstrass·theorem</h1> | 
| 309 | </div> | 309 | </div> | 
| 310 | <div·class="code"> | 310 | <div·class="code"> | 
| 311 | <br/> | 311 | <br/> | 
| 312 | <span·class="id"·title="keyword">Definition</span>·<a·id="ValAdh"·class="idref"·href="#ValAdh"><span·class="id"·title="definition">ValAdh</span></a>·(<a·id="un:281"·class="idref"·href="#un:281"><span·class="id"·title="binder">un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="x:282"·class="idref"·href="#x:282"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 312 | <span·class="id"·title="keyword">Definition</span>·<a·id="ValAdh"·class="idref"·href="#ValAdh"><span·class="id"·title="definition">ValAdh</span></a>·(<a·id="un:281"·class="idref"·href="#un:281"><span·class="id"·title="binder">un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="x:282"·class="idref"·href="#x:282"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 313 |   <span·class="id"·title="keyword">forall</span>·(<a·id="V:283"·class="idref"·href="#V:283"><span·class="id"·title="binder">V</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="N:284"·class="idref"·href="#N:284"><span·class="id"·title="binder">N</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>),<br/> | 313 |   <span·class="id"·title="keyword">forall</span>·(<a·id="V:283"·class="idref"·href="#V:283"><span·class="id"·title="binder">V</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="N:284"·class="idref"·href="#N:284"><span·class="id"·title="binder">N</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>),<br/> | 
| Offset 376, 15 lines modified | Offset 376, 15 lines modified | ||
| 376 |   <span·class="id"·title="keyword">forall</span>·(<a·id="un:347"·class="idref"·href="#un:347"><span·class="id"·title="binder">un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="X:348"·class="idref"·href="#X:348"><span·class="id"·title="binder">X</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>),<br/> | 376 |   <span·class="id"·title="keyword">forall</span>·(<a·id="un:347"·class="idref"·href="#un:347"><span·class="id"·title="binder">un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="X:348"·class="idref"·href="#X:348"><span·class="id"·title="binder">X</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>),<br/> | 
| 377 |     <a·class="idref"·href="Coq.Reals.Rtopology.html#compact"><span·class="id"·title="definition">compact</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#X:348"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:349"·class="idref"·href="#n:349"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.Rtopology.html#X:348"><span·class="id"·title="variable">X</span></a>·(<a·class="idref"·href="Coq.Reals.Rtopology.html#un:347"><span·class="id"·title="variable">un</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#n:349"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>··<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="l:350"·class="idref"·href="#l:350"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#ValAdh"><span·class="id"·title="definition">ValAdh</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#un:347"><span·class="id"·title="variable">un</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#l:350"><span·class="id"·title="variable">l</span></a>.<br/> | 377 |     <a·class="idref"·href="Coq.Reals.Rtopology.html#compact"><span·class="id"·title="definition">compact</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#X:348"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:349"·class="idref"·href="#n:349"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.Rtopology.html#X:348"><span·class="id"·title="variable">X</span></a>·(<a·class="idref"·href="Coq.Reals.Rtopology.html#un:347"><span·class="id"·title="variable">un</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#n:349"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>··<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="l:350"·class="idref"·href="#l:350"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#ValAdh"><span·class="id"·title="definition">ValAdh</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#un:347"><span·class="id"·title="variable">un</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#l:350"><span·class="id"·title="variable">l</span></a>.<br/> | 
| 378 | <br/> | 378 | <br/> | 
| 379 | </div> | 379 | </div> | 
| 380 | <div·class="doc"> | 380 | <div·class="doc"> | 
| 381 | <a·id="lab22 | 381 | <a·id="lab222"></a><h1·class="section">Proof·of·Heine's·theorem</h1> | 
| 382 | </div> | 382 | </div> | 
| 383 | <div·class="code"> | 383 | <div·class="code"> | 
| 384 | <br/> | 384 | <br/> | 
| 385 | <span·class="id"·title="keyword">Definition</span>·<a·id="uniform_continuity"·class="idref"·href="#uniform_continuity"><span·class="id"·title="definition">uniform_continuity</span></a>·(<a·id="f:381"·class="idref"·href="#f:381"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="X:382"·class="idref"·href="#X:382"><span·class="id"·title="binder">X</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 385 | <span·class="id"·title="keyword">Definition</span>·<a·id="uniform_continuity"·class="idref"·href="#uniform_continuity"><span·class="id"·title="definition">uniform_continuity</span></a>·(<a·id="f:381"·class="idref"·href="#f:381"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="X:382"·class="idref"·href="#X:382"><span·class="id"·title="binder">X</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 386 |   <span·class="id"·title="keyword">forall</span>·<a·id="eps:383"·class="idref"·href="#eps:383"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#posreal"><span·class="id"·title="record">posreal</span></a>,<br/> | 386 |   <span·class="id"·title="keyword">forall</span>·<a·id="eps:383"·class="idref"·href="#eps:383"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#posreal"><span·class="id"·title="record">posreal</span></a>,<br/> | 
| Offset 160, 15 lines modified | Offset 160, 15 lines modified | ||
| 160 |     1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 160 |     1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 161 |     <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·(<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a>1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>.<br/> | 161 |     <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·(<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a>1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 162 | <br/> | 162 | <br/> | 
| 163 | </div> | 163 | </div> | 
| 164 | <div·class="doc"> | 164 | <div·class="doc"> | 
| 165 | <a·id="lab | 165 | <a·id="lab104"></a><h1·class="section">Some·properties·of·cos,·sin·and·tan</h1> | 
| 166 | </div> | 166 | </div> | 
| 167 | <div·class="code"> | 167 | <div·class="code"> | 
| 168 | <br/> | 168 | <br/> | 
| 169 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_2a"·class="idref"·href="#sin_2a"><span·class="id"·title="lemma">sin_2a</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:54"·class="idref"·href="#x:54"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·(2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>.<br/> | 169 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_2a"·class="idref"·href="#sin_2a"><span·class="id"·title="lemma">sin_2a</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:54"·class="idref"·href="#x:54"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·(2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>.<br/> | 
| Offset 254, 15 lines modified | Offset 254, 15 lines modified | ||
| 254 | <br/> | 254 | <br/> | 
| 255 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sin_0_var"·class="idref"·href="#cos_sin_0_var"><span·class="id"·title="lemma">cos_sin_0_var</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:76"·class="idref"·href="#x:76"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:76"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:76"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> | 255 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sin_0_var"·class="idref"·href="#cos_sin_0_var"><span·class="id"·title="lemma">cos_sin_0_var</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:76"·class="idref"·href="#x:76"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:76"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:76"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> | 
| 256 | <br/> | 256 | <br/> | 
| 257 | </div> | 257 | </div> | 
| 258 | <div·class="doc"> | 258 | <div·class="doc"> | 
| 259 | <a·id="lab | 259 | <a·id="lab105"></a><h1·class="section">Using·series·definitions·of·cos·and·sin</h1> | 
| 260 | </div> | 260 | </div> | 
| 261 | <div·class="code"> | 261 | <div·class="code"> | 
| 262 | <br/> | 262 | <br/> | 
| 263 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin_lb"·class="idref"·href="#sin_lb"><span·class="id"·title="definition">sin_lb</span></a>·(<a·id="a:77"·class="idref"·href="#a:77"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_alt.html#sin_approx"><span·class="id"·title="definition">sin_approx</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#a:77"><span·class="id"·title="variable">a</span></a>·3.<br/> | 263 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin_lb"·class="idref"·href="#sin_lb"><span·class="id"·title="definition">sin_lb</span></a>·(<a·id="a:77"·class="idref"·href="#a:77"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_alt.html#sin_approx"><span·class="id"·title="definition">sin_approx</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#a:77"><span·class="id"·title="variable">a</span></a>·3.<br/> | 
| 264 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin_ub"·class="idref"·href="#sin_ub"><span·class="id"·title="definition">sin_ub</span></a>·(<a·id="a:78"·class="idref"·href="#a:78"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_alt.html#sin_approx"><span·class="id"·title="definition">sin_approx</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#a:78"><span·class="id"·title="variable">a</span></a>·4.<br/> | 264 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin_ub"·class="idref"·href="#sin_ub"><span·class="id"·title="definition">sin_ub</span></a>·(<a·id="a:78"·class="idref"·href="#a:78"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_alt.html#sin_approx"><span·class="id"·title="definition">sin_approx</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#a:78"><span·class="id"·title="variable">a</span></a>·4.<br/> | 
| Offset 288, 15 lines modified | Offset 288, 15 lines modified | ||
| 288 | <br/> | 288 | <br/> | 
| 289 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PI2_Rlt_PI"·class="idref"·href="#PI2_Rlt_PI"><span·class="id"·title="lemma">PI2_Rlt_PI</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>.<br/> | 289 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PI2_Rlt_PI"·class="idref"·href="#PI2_Rlt_PI"><span·class="id"·title="lemma">PI2_Rlt_PI</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>.<br/> | 
| 290 | <br/> | 290 | <br/> | 
| 291 | </div> | 291 | </div> | 
| 292 | <div·class="doc"> | 292 | <div·class="doc"> | 
| 293 | <a·id="lab | 293 | <a·id="lab106"></a><h1·class="section">Increasing·and·decreasing·of·<span·class="inlinecode"><span·class="id"·title="var">cos</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">sin</span></span></h1> | 
| 294 | </div> | 294 | </div> | 
| 295 | <div·class="code"> | 295 | <div·class="code"> | 
| 296 | <span·class="id"·title="keyword">Theorem</span>·<a·id="sin_gt_0"·class="idref"·href="#sin_gt_0"><span·class="id"·title="lemma">sin_gt_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:92"·class="idref"·href="#x:92"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:92"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:92"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:92"><span·class="id"·title="variable">x</span></a>.<br/> | 296 | <span·class="id"·title="keyword">Theorem</span>·<a·id="sin_gt_0"·class="idref"·href="#sin_gt_0"><span·class="id"·title="lemma">sin_gt_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:92"·class="idref"·href="#x:92"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:92"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:92"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:92"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 297 | <br/> | 297 | <br/> | 
| 298 | <span·class="id"·title="keyword">Theorem</span>·<a·id="cos_gt_0"·class="idref"·href="#cos_gt_0"><span·class="id"·title="lemma">cos_gt_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:93"·class="idref"·href="#x:93"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:93"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:93"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:93"><span·class="id"·title="variable">x</span></a>.<br/> | 298 | <span·class="id"·title="keyword">Theorem</span>·<a·id="cos_gt_0"·class="idref"·href="#cos_gt_0"><span·class="id"·title="lemma">cos_gt_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:93"·class="idref"·href="#x:93"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:93"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:93"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:93"><span·class="id"·title="variable">x</span></a>.<br/> | 
| Offset 50, 15 lines modified | Offset 50, 15 lines modified | ||
| 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> | 
| 51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="doc"> | 54 | <div·class="doc"> | 
| 55 | <a·id="lab1 | 55 | <a·id="lab175"></a><h1·class="section">Definition·of·exponential</h1> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="code"> | 57 | <div·class="code"> | 
| 58 | <span·class="id"·title="keyword">Definition</span>·<a·id="exp_in"·class="idref"·href="#exp_in"><span·class="id"·title="definition">exp_in</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="l:2"·class="idref"·href="#l:2"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 58 | <span·class="id"·title="keyword">Definition</span>·<a·id="exp_in"·class="idref"·href="#exp_in"><span·class="id"·title="definition">exp_in</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="l:2"·class="idref"·href="#l:2"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 59 |   <a·class="idref"·href="Coq.Reals.Rfunctions.html#infinite_sum"><span·class="id"·title="definition">infinite_sum</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="i:3"·class="idref"·href="#i:3"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#i:3"><span·class="id"·title="variable">i</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#i:3"><span·class="id"·title="variable">i</span></a>)·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#l:2"><span·class="id"·title="variable">l</span></a>.<br/> | 59 |   <a·class="idref"·href="Coq.Reals.Rfunctions.html#infinite_sum"><span·class="id"·title="definition">infinite_sum</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="i:3"·class="idref"·href="#i:3"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#i:3"><span·class="id"·title="variable">i</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#i:3"><span·class="id"·title="variable">i</span></a>)·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#l:2"><span·class="id"·title="variable">l</span></a>.<br/> | 
| 60 | <br/> | 60 | <br/> | 
| Offset 76, 15 lines modified | Offset 76, 15 lines modified | ||
| 76 | <br/> | 76 | <br/> | 
| 77 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_0"·class="idref"·href="#exp_0"><span·class="id"·title="lemma">exp_0</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·1.<br/> | 77 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_0"·class="idref"·href="#exp_0"><span·class="id"·title="lemma">exp_0</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·1.<br/> | 
| 78 | <br/> | 78 | <br/> | 
| 79 | </div> | 79 | </div> | 
| 80 | <div·class="doc"> | 80 | <div·class="doc"> | 
| 81 | <a·id="lab1 | 81 | <a·id="lab176"></a><h1·class="section">Definition·of·hyperbolic·functions</h1> | 
| 82 | </div> | 82 | </div> | 
| 83 | <div·class="code"> | 83 | <div·class="code"> | 
| 84 | <span·class="id"·title="keyword">Definition</span>·<a·id="cosh"·class="idref"·href="#cosh"><span·class="id"·title="definition">cosh</span></a>·(<a·id="x:13"·class="idref"·href="#x:13"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:13"><span·class="id"·title="variable">x</span></a>)<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2.<br/> | 84 | <span·class="id"·title="keyword">Definition</span>·<a·id="cosh"·class="idref"·href="#cosh"><span·class="id"·title="definition">cosh</span></a>·(<a·id="x:13"·class="idref"·href="#x:13"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:13"><span·class="id"·title="variable">x</span></a>)<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2.<br/> | 
| 85 | <span·class="id"·title="keyword">Definition</span>·<a·id="sinh"·class="idref"·href="#sinh"><span·class="id"·title="definition">sinh</span></a>·(<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:14"><span·class="id"·title="variable">x</span></a>)<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2.<br/> | 85 | <span·class="id"·title="keyword">Definition</span>·<a·id="sinh"·class="idref"·href="#sinh"><span·class="id"·title="definition">sinh</span></a>·(<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:14"><span·class="id"·title="variable">x</span></a>)<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2.<br/> | 
| 86 | <span·class="id"·title="keyword">Definition</span>·<a·id="tanh"·class="idref"·href="#tanh"><span·class="id"·title="definition">tanh</span></a>·(<a·id="x:15"·class="idref"·href="#x:15"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sinh"><span·class="id"·title="definition">sinh</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:15"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cosh"><span·class="id"·title="definition">cosh</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:15"><span·class="id"·title="variable">x</span></a>.<br/> | 86 | <span·class="id"·title="keyword">Definition</span>·<a·id="tanh"·class="idref"·href="#tanh"><span·class="id"·title="definition">tanh</span></a>·(<a·id="x:15"·class="idref"·href="#x:15"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sinh"><span·class="id"·title="definition">sinh</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:15"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cosh"><span·class="id"·title="definition">cosh</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:15"><span·class="id"·title="variable">x</span></a>.<br/> | 
| Offset 150, 15 lines modified | Offset 150, 15 lines modified | ||
| 150 | <br/> | 150 | <br/> | 
| 151 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin"·class="idref"·href="#sin"><span·class="id"·title="definition">sin</span></a>·(<a·id="x:38"·class="idref"·href="#x:38"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<span·class="id"·title="keyword">let</span>·(<a·id="a:39"·class="idref"·href="#a:39"><span·class="id"·title="binder">a</span></a>,<span·class="id"·title="var">_</span>)·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exist_sin"><span·class="id"·title="lemma">exist_sin</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:38"><span·class="id"·title="variable">x</span></a>)·<span·class="id"·title="tactic">in</span>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:38"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#a:39"><span·class="id"·title="variable">a</span></a>.<br/> | 151 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin"·class="idref"·href="#sin"><span·class="id"·title="definition">sin</span></a>·(<a·id="x:38"·class="idref"·href="#x:38"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<span·class="id"·title="keyword">let</span>·(<a·id="a:39"·class="idref"·href="#a:39"><span·class="id"·title="binder">a</span></a>,<span·class="id"·title="var">_</span>)·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exist_sin"><span·class="id"·title="lemma">exist_sin</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:38"><span·class="id"·title="variable">x</span></a>)·<span·class="id"·title="tactic">in</span>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:38"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#a:39"><span·class="id"·title="variable">a</span></a>.<br/> | 
| 152 | <br/> | 152 | <br/> | 
| 153 | </div> | 153 | </div> | 
| 154 | <div·class="doc"> | 154 | <div·class="doc"> | 
| 155 | <a·id="lab1 | 155 | <a·id="lab177"></a><h1·class="section">Properties</h1> | 
| 156 | </div> | 156 | </div> | 
| 157 | <div·class="code"> | 157 | <div·class="code"> | 
| 158 | <br/> | 158 | <br/> | 
| 159 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sym"·class="idref"·href="#cos_sym"><span·class="id"·title="lemma">cos_sym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:40"·class="idref"·href="#x:40"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:40"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:40"><span·class="id"·title="variable">x</span></a>).<br/> | 159 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sym"·class="idref"·href="#cos_sym"><span·class="id"·title="lemma">cos_sym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:40"·class="idref"·href="#x:40"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:40"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:40"><span·class="id"·title="variable">x</span></a>).<br/> | 
| Offset 57, 15 lines modified | Offset 57, 15 lines modified | ||
| 57 | <br/> | 57 | <br/> | 
| 58 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 58 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 
| 59 | <br/> | 59 | <br/> | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="doc"> | 61 | <div·class="doc"> | 
| 62 | <a·id="lab | 62 | <a·id="lab77"></a><h1·class="section">Bounds·of·expressions·with·trigonometric·functions</h1> | 
| 63 | </div> | 63 | </div> | 
| 64 | <div·class="code"> | 64 | <div·class="code"> | 
| 65 | <br/> | 65 | <br/> | 
| 66 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin2_bound"·class="idref"·href="#sin2_bound"><span·class="id"·title="lemma">sin2_bound</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>,<br/> | 66 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin2_bound"·class="idref"·href="#sin2_bound"><span·class="id"·title="lemma">sin2_bound</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>,<br/> | 
| 67 |   0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:1"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·1.<br/> | 67 |   0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:1"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·1.<br/> | 
| Offset 74, 19 lines modified | Offset 74, 19 lines modified | ||
| 74 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos2_bound"·class="idref"·href="#cos2_bound"><span·class="id"·title="lemma">cos2_bound</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:2"·class="idref"·href="#x:2"><span·class="id"·title="binder">x</span></a>,<br/> | 74 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos2_bound"·class="idref"·href="#cos2_bound"><span·class="id"·title="lemma">cos2_bound</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:2"·class="idref"·href="#x:2"><span·class="id"·title="binder">x</span></a>,<br/> | 
| 75 |   0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:2"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·1.<br/> | 75 |   0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:2"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·1.<br/> | 
| 76 | <br/> | 76 | <br/> | 
| 77 | </div> | 77 | </div> | 
| 78 | <div·class="doc"> | 78 | <div·class="doc"> | 
| 79 | <a·id="lab | 79 | <a·id="lab78"></a><h1·class="section">Express·trigonometric·functions·with·each·other</h1> | 
| 80 | <div·class="paragraph">·</div> | 80 | <div·class="paragraph">·</div> | 
| 81 | <a·id="lab | 81 | <a·id="lab79"></a><h2·class="section">Express·sin·and·cos·with·each·other</h2> | 
| 82 | </div> | 82 | </div> | 
| 83 | <div·class="code"> | 83 | <div·class="code"> | 
| 84 | <br/> | 84 | <br/> | 
| 85 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sin"·class="idref"·href="#cos_sin"><span·class="id"·title="lemma">cos_sin</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 85 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sin"·class="idref"·href="#cos_sin"><span·class="id"·title="lemma">cos_sin</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 86 |   <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:3"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 86 |   <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:3"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 
| Offset 111, 15 lines modified | Offset 111, 15 lines modified | ||
| 111 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_cos_Rabs"·class="idref"·href="#sin_cos_Rabs"><span·class="id"·title="lemma">sin_cos_Rabs</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>,<br/> | 111 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_cos_Rabs"·class="idref"·href="#sin_cos_Rabs"><span·class="id"·title="lemma">sin_cos_Rabs</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>,<br/> | 
| 112 |   <a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:8"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:8"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 112 |   <a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:8"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:8"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 
| 113 | <br/> | 113 | <br/> | 
| 114 | </div> | 114 | </div> | 
| 115 | <div·class="doc"> | 115 | <div·class="doc"> | 
| 116 | <a·id="lab | 116 | <a·id="lab80"></a><h2·class="section">Express·tan·with·sin·and·cos</h2> | 
| 117 | </div> | 117 | </div> | 
| 118 | <div·class="code"> | 118 | <div·class="code"> | 
| 119 | <br/> | 119 | <br/> | 
| 120 | <span·class="id"·title="keyword">Lemma</span>·<a·id="tan_sin"·class="idref"·href="#tan_sin"><span·class="id"·title="lemma">tan_sin</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:9"·class="idref"·href="#x:9"><span·class="id"·title="binder">x</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 120 | <span·class="id"·title="keyword">Lemma</span>·<a·id="tan_sin"·class="idref"·href="#tan_sin"><span·class="id"·title="lemma">tan_sin</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:9"·class="idref"·href="#x:9"><span·class="id"·title="binder">x</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 121 |   <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 121 |   <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 
| Offset 144, 15 lines modified | Offset 144, 15 lines modified | ||
| 144 | <span·class="id"·title="keyword">Lemma</span>·<a·id="tan_cos_opp"·class="idref"·href="#tan_cos_opp"><span·class="id"·title="lemma">tan_cos_opp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 144 | <span·class="id"·title="keyword">Lemma</span>·<a·id="tan_cos_opp"·class="idref"·href="#tan_cos_opp"><span·class="id"·title="lemma">tan_cos_opp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 145 |   <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</span></a>.<br/> | 145 |   <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 146 | <br/> | 146 | <br/> | 
| 147 | </div> | 147 | </div> | 
| 148 | <div·class="doc"> | 148 | <div·class="doc"> | 
| 149 | <a·id="lab | 149 | <a·id="lab81"></a><h2·class="section">Express·sin·and·cos·with·tan</h2> | 
| 150 | </div> | 150 | </div> | 
| 151 | <div·class="code"> | 151 | <div·class="code"> | 
| 152 | <br/> | 152 | <br/> | 
| 153 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_tan"·class="idref"·href="#sin_tan"><span·class="id"·title="lemma">sin_tan</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:13"·class="idref"·href="#x:13"><span·class="id"·title="binder">x</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 153 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_tan"·class="idref"·href="#sin_tan"><span·class="id"·title="lemma">sin_tan</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:13"·class="idref"·href="#x:13"><span·class="id"·title="binder">x</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 154 |   <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 154 |   <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 
| Offset 161, 15 lines modified | Offset 161, 15 lines modified | ||
| 161 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_tan"·class="idref"·href="#cos_tan"><span·class="id"·title="lemma">cos_tan</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 161 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_tan"·class="idref"·href="#cos_tan"><span·class="id"·title="lemma">cos_tan</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 162 |   <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:14"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 162 |   <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:14"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 
| 163 | <br/> | 163 | <br/> | 
| 164 | </div> | 164 | </div> | 
| 165 | <div·class="doc"> | 165 | <div·class="doc"> | 
| 166 | <a·id="lab | 166 | <a·id="lab82"></a><h1·class="section">Additional·shift·lemmas·for·sin,·cos,·tan</h1> | 
| 167 | </div> | 167 | </div> | 
| 168 | <div·class="code"> | 168 | <div·class="code"> | 
| 169 | <br/> | 169 | <br/> | 
| 170 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_pi_minus"·class="idref"·href="#sin_pi_minus"><span·class="id"·title="lemma">sin_pi_minus</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:15"·class="idref"·href="#x:15"><span·class="id"·title="binder">x</span></a>,<br/> | 170 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_pi_minus"·class="idref"·href="#sin_pi_minus"><span·class="id"·title="lemma">sin_pi_minus</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:15"·class="idref"·href="#x:15"><span·class="id"·title="binder">x</span></a>,<br/> | 
| 171 |   <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·(<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:15"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:15"><span·class="id"·title="variable">x</span></a>.<br/> | 171 |   <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·(<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:15"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:15"><span·class="id"·title="variable">x</span></a>.<br/> | 
| Offset 45, 16 lines modified | Offset 45, 16 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab22"></a><h1·class="section">Some·properties·of·the·operators·on·relations</h1> | 
| 50 | <a·id="lab | 50 | <a·id="lab23"></a><h1·class="section">Initial·version·by·Bruno·Barras</h1> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="code"> | 52 | <div·class="code"> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#"><span·class="id"·title="library">Relation_Definitions</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#"><span·class="id"·title="library">Relation_Definitions</span></a>.<br/> | 
| 55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#"><span·class="id"·title="library">Relation_Operators</span></a>.<br/> | 55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#"><span·class="id"·title="library">Relation_Operators</span></a>.<br/> | 
| Offset 177, 20 lines modified | Offset 177, 20 lines modified | ||
| 177 | <br/> | 177 | <br/> | 
| 178 |   <span·class="id"·title="keyword">Section</span>·<a·id="Properties.Equivalences"·class="idref"·href="#Properties.Equivalences"><span·class="id"·title="section">Equivalences</span></a>.<br/> | 178 |   <span·class="id"·title="keyword">Section</span>·<a·id="Properties.Equivalences"·class="idref"·href="#Properties.Equivalences"><span·class="id"·title="section">Equivalences</span></a>.<br/> | 
| 179 | <br/> | 179 | <br/> | 
| 180 | </div> | 180 | </div> | 
| 181 | <div·class="doc"> | 181 | <div·class="doc"> | 
| 182 | <a·id="lab | 182 | <a·id="lab24"></a><h3·class="section">Equivalences·between·the·different·definition·of·the·reflexive,</h3> | 
| 183 | ······symmetric,·transitive·closures· | 183 | ······symmetric,·transitive·closures· | 
| 184 | <div·class="paragraph">·</div> | 184 | <div·class="paragraph">·</div> | 
| 185 | <a·id="lab | 185 | <a·id="lab25"></a><h3·class="section">Contributed·by·P.·Castéran</h3> | 
| 186 | <div·class="paragraph">·</div> | 186 | <div·class="paragraph">·</div> | 
| 187 | ·Direct·transitive·closure·vs·left-step·extension· | 187 | ·Direct·transitive·closure·vs·left-step·extension· | 
| 188 | </div> | 188 | </div> | 
| 189 | <div·class="code"> | 189 | <div·class="code"> | 
| Offset 45, 34 lines modified | Offset 45, 34 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab26"></a><h1·class="section">Some·operators·on·relations</h1> | 
| 50 | <a·id="lab | 50 | <a·id="lab27"></a><h1·class="section">Initial·authors:·Bruno·Barras,·Cristina·Cornes</h1> | 
| 51 | <a·id="lab | 51 | <a·id="lab28"></a><h1·class="section">···································································</h1> | 
| 52 | <a·id="lab | 52 | <a·id="lab29"></a><h1·class="section">Some·of·the·initial·definitions·were·taken·from·:</h1> | 
| 53 | <a·id="lab | 53 | <a·id="lab30"></a><h1·class="section">Constructing·Recursion·Operators·in·Type·Theory</h1> | 
| 54 | <a·id="lab | 54 | <a·id="lab31"></a><h1·class="section">L.·Paulson··JSC·(1986)·2,·325-355</h1> | 
| 55 | <a·id="lab | 55 | <a·id="lab32"></a><h1·class="section">···································································</h1> | 
| 56 | <a·id="lab | 56 | <a·id="lab33"></a><h1·class="section">Further·extensions·by·Pierre·Castéran</h1> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="code"> | 58 | <div·class="code"> | 
| 59 | <br/> | 59 | <br/> | 
| 60 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#"><span·class="id"·title="library">Relation_Definitions</span></a>.<br/> | 60 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#"><span·class="id"·title="library">Relation_Definitions</span></a>.<br/> | 
| 61 | <br/> | 61 | <br/> | 
| 62 | </div> | 62 | </div> | 
| 63 | <div·class="doc"> | 63 | <div·class="doc"> | 
| 64 | <a·id="lab | 64 | <a·id="lab34"></a><h2·class="section">Transitive·closure</h2> | 
| 65 | </div> | 65 | </div> | 
| 66 | <div·class="code"> | 66 | <div·class="code"> | 
| 67 | <br/> | 67 | <br/> | 
| 68 | <span·class="id"·title="keyword">Section</span>·<a·id="Transitive_Closure"·class="idref"·href="#Transitive_Closure"><span·class="id"·title="section">Transitive_Closure</span></a>.<br/> | 68 | <span·class="id"·title="keyword">Section</span>·<a·id="Transitive_Closure"·class="idref"·href="#Transitive_Closure"><span·class="id"·title="section">Transitive_Closure</span></a>.<br/> | 
| 69 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Transitive_Closure.A"·class="idref"·href="#Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 69 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Transitive_Closure.A"·class="idref"·href="#Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| Offset 120, 15 lines modified | Offset 120, 15 lines modified | ||
| 120 | <br/> | 120 | <br/> | 
| 121 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Transitive_Closure"><span·class="id"·title="section">Transitive_Closure</span></a>.<br/> | 121 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Transitive_Closure"><span·class="id"·title="section">Transitive_Closure</span></a>.<br/> | 
| 122 | <br/> | 122 | <br/> | 
| 123 | </div> | 123 | </div> | 
| 124 | <div·class="doc"> | 124 | <div·class="doc"> | 
| 125 | <a·id="lab | 125 | <a·id="lab35"></a><h2·class="section">Reflexive·closure</h2> | 
| 126 | </div> | 126 | </div> | 
| 127 | <div·class="code"> | 127 | <div·class="code"> | 
| 128 | <br/> | 128 | <br/> | 
| 129 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Closure"·class="idref"·href="#Reflexive_Closure"><span·class="id"·title="section">Reflexive_Closure</span></a>.<br/> | 129 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Closure"·class="idref"·href="#Reflexive_Closure"><span·class="id"·title="section">Reflexive_Closure</span></a>.<br/> | 
| 130 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Closure.A"·class="idref"·href="#Reflexive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 130 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Closure.A"·class="idref"·href="#Reflexive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| Offset 150, 15 lines modified | Offset 150, 15 lines modified | ||
| 150 | <br/> | 150 | <br/> | 
| 151 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Closure"><span·class="id"·title="section">Reflexive_Closure</span></a>.<br/> | 151 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Closure"><span·class="id"·title="section">Reflexive_Closure</span></a>.<br/> | 
| 152 | <br/> | 152 | <br/> | 
| 153 | </div> | 153 | </div> | 
| 154 | <div·class="doc"> | 154 | <div·class="doc"> | 
| 155 | <a·id="lab | 155 | <a·id="lab36"></a><h2·class="section">Reflexive-transitive·closure</h2> | 
| 156 | </div> | 156 | </div> | 
| 157 | <div·class="code"> | 157 | <div·class="code"> | 
| 158 | <br/> | 158 | <br/> | 
| 159 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Transitive_Closure"·class="idref"·href="#Reflexive_Transitive_Closure"><span·class="id"·title="section">Reflexive_Transitive_Closure</span></a>.<br/> | 159 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Transitive_Closure"·class="idref"·href="#Reflexive_Transitive_Closure"><span·class="id"·title="section">Reflexive_Transitive_Closure</span></a>.<br/> | 
| 160 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Transitive_Closure.A"·class="idref"·href="#Reflexive_Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 160 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Transitive_Closure.A"·class="idref"·href="#Reflexive_Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| Offset 210, 15 lines modified | Offset 210, 15 lines modified | ||
| 210 | <br/> | 210 | <br/> | 
| 211 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Transitive_Closure"><span·class="id"·title="section">Reflexive_Transitive_Closure</span></a>.<br/> | 211 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Transitive_Closure"><span·class="id"·title="section">Reflexive_Transitive_Closure</span></a>.<br/> | 
| 212 | <br/> | 212 | <br/> | 
| 213 | </div> | 213 | </div> | 
| 214 | <div·class="doc"> | 214 | <div·class="doc"> | 
| 215 | <a·id="lab | 215 | <a·id="lab37"></a><h2·class="section">Reflexive-symmetric-transitive·closure</h2> | 
| 216 | </div> | 216 | </div> | 
| 217 | <div·class="code"> | 217 | <div·class="code"> | 
| 218 | <br/> | 218 | <br/> | 
| 219 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Symmetric_Transitive_Closure"·class="idref"·href="#Reflexive_Symmetric_Transitive_Closure"><span·class="id"·title="section">Reflexive_Symmetric_Transitive_Closure</span></a>.<br/> | 219 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Symmetric_Transitive_Closure"·class="idref"·href="#Reflexive_Symmetric_Transitive_Closure"><span·class="id"·title="section">Reflexive_Symmetric_Transitive_Closure</span></a>.<br/> | 
| 220 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Symmetric_Transitive_Closure.A"·class="idref"·href="#Reflexive_Symmetric_Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 220 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Symmetric_Transitive_Closure.A"·class="idref"·href="#Reflexive_Symmetric_Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| Offset 272, 15 lines modified | Offset 272, 15 lines modified | ||
| 272 | <br/> | 272 | <br/> | 
| 273 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Symmetric_Transitive_Closure"><span·class="id"·title="section">Reflexive_Symmetric_Transitive_Closure</span></a>.<br/> | 273 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Symmetric_Transitive_Closure"><span·class="id"·title="section">Reflexive_Symmetric_Transitive_Closure</span></a>.<br/> | 
| 274 | <br/> | 274 | <br/> | 
| 275 | </div> | 275 | </div> | 
| 276 | <div·class="doc"> | 276 | <div·class="doc"> | 
| 277 | <a·id="lab | 277 | <a·id="lab38"></a><h2·class="section">Converse·of·a·relation</h2> | 
| 278 | </div> | 278 | </div> | 
| 279 | <div·class="code"> | 279 | <div·class="code"> | 
| 280 | <br/> | 280 | <br/> | 
| 281 | <span·class="id"·title="keyword">Section</span>·<a·id="Converse"·class="idref"·href="#Converse"><span·class="id"·title="section">Converse</span></a>.<br/> | 281 | <span·class="id"·title="keyword">Section</span>·<a·id="Converse"·class="idref"·href="#Converse"><span·class="id"·title="section">Converse</span></a>.<br/> | 
| 282 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Converse.A"·class="idref"·href="#Converse.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 282 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Converse.A"·class="idref"·href="#Converse.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| Offset 290, 15 lines modified | Offset 290, 15 lines modified | ||
| 290 |   <span·class="id"·title="keyword">Definition</span>·<a·id="transp"·class="idref"·href="#transp"><span·class="id"·title="definition">transp</span></a>·(<a·id="x:79"·class="idref"·href="#x:79"><span·class="id"·title="binder">x</span></a>·<a·id="y:80"·class="idref"·href="#y:80"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse.R"><span·class="id"·title="variable">R</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:80"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:79"><span·class="id"·title="variable">x</span></a>.<br/> | 290 |   <span·class="id"·title="keyword">Definition</span>·<a·id="transp"·class="idref"·href="#transp"><span·class="id"·title="definition">transp</span></a>·(<a·id="x:79"·class="idref"·href="#x:79"><span·class="id"·title="binder">x</span></a>·<a·id="y:80"·class="idref"·href="#y:80"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse.R"><span·class="id"·title="variable">R</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:80"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:79"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 291 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse"><span·class="id"·title="section">Converse</span></a>.<br/> | 291 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse"><span·class="id"·title="section">Converse</span></a>.<br/> | 
| 292 | <br/> | 292 | <br/> | 
| 293 | </div> | 293 | </div> | 
| 294 | <div·class="doc"> | 294 | <div·class="doc"> | 
| 295 | <a·id="lab | 295 | <a·id="lab39"></a><h2·class="section">Union·of·relations</h2> | 
| 296 | </div> | 296 | </div> | 
| 297 | <div·class="code"> | 297 | <div·class="code"> | 
| 298 | <br/> | 298 | <br/> | 
| 299 | <span·class="id"·title="keyword">Section</span>·<a·id="Union"·class="idref"·href="#Union"><span·class="id"·title="section">Union</span></a>.<br/> | 299 | <span·class="id"·title="keyword">Section</span>·<a·id="Union"·class="idref"·href="#Union"><span·class="id"·title="section">Union</span></a>.<br/> | 
| 300 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Union.A"·class="idref"·href="#Union.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 300 |   <span·class="id"·title="keyword">Variable</span>·<a·id="Union.A"·class="idref"·href="#Union.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| Offset 308, 15 lines modified | Offset 308, 15 lines modified | ||
| 308 |   <span·class="id"·title="keyword">Definition</span>·<a·id="union"·class="idref"·href="#union"><span·class="id"·title="definition">union</span></a>·(<a·id="x:87"·class="idref"·href="#x:87"><span·class="id"·title="binder">x</span></a>·<a·id="y:88"·class="idref"·href="#y:88"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.R1"><span·class="id"·title="variable">R1</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:87"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:88"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.R2"><span·class="id"·title="variable">R2</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:87"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:88"><span·class="id"·title="variable">y</span></a>.<br/> | 308 |   <span·class="id"·title="keyword">Definition</span>·<a·id="union"·class="idref"·href="#union"><span·class="id"·title="definition">union</span></a>·(<a·id="x:87"·class="idref"·href="#x:87"><span·class="id"·title="binder">x</span></a>·<a·id="y:88"·class="idref"·href="#y:88"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.R1"><span·class="id"·title="variable">R1</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:87"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:88"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.R2"><span·class="id"·title="variable">R2</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:87"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:88"><span·class="id"·title="variable">y</span></a>.<br/> | 
| 309 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union"><span·class="id"·title="section">Union</span></a>.<br/> | 309 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union"><span·class="id"·title="section">Union</span></a>.<br/> | 
| 310 | <br/> | 310 | <br/> | 
| 311 | </div> | 311 | </div> | 
| 312 | <div·class="doc"> | 312 | <div·class="doc"> | 
| 313 | <a·id="lab | 313 | <a·id="lab40"></a><h2·class="section">Disjoint·union·of·relations</h2> | 
| 314 | </div> | 314 | </div> | 
| 315 | <div·class="code"> | 315 | <div·class="code"> | 
| Max diff block lines reached; 3486/12802 bytes (27.23%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab424"></a><h1·class="section">Circular·Shifts·(aka·Cyclic·Permutations)</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·The·main·inductive·<span·class="inlinecode"><span·class="id"·title="var">CPermutation</span></span>·relates·lists·up·to·circular·shifts·of·their·elements. | 51 | ·The·main·inductive·<span·class="inlinecode"><span·class="id"·title="var">CPermutation</span></span>·relates·lists·up·to·circular·shifts·of·their·elements. | 
| 52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> | 
| Offset 70, 19 lines modified | Offset 70, 19 lines modified | ||
| 70 | <br/> | 70 | <br/> | 
| 71 | <span·class="id"·title="keyword">Section</span>·<a·id="defs"·class="idref"·href="#defs"><span·class="id"·title="section">defs</span></a>.<br/> | 71 | <span·class="id"·title="keyword">Section</span>·<a·id="defs"·class="idref"·href="#defs"><span·class="id"·title="section">defs</span></a>.<br/> | 
| 72 | <br/> | 72 | <br/> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="doc"> | 74 | <div·class="doc"> | 
| 75 | <a·id="lab | 75 | <a·id="lab429"></a><h1·class="section">Trees·and·heap·trees</h1> | 
| 76 | <div·class="paragraph">·</div> | 76 | <div·class="paragraph">·</div> | 
| 77 | <a·id="lab | 77 | <a·id="lab430"></a><h2·class="section">Definition·of·trees·over·an·ordered·set</h2> | 
| 78 | </div> | 78 | </div> | 
| 79 | <div·class="code"> | 79 | <div·class="code"> | 
| 80 | <br/> | 80 | <br/> | 
| 81 |   <span·class="id"·title="keyword">Variable</span>·<a·id="defs.A"·class="idref"·href="#defs.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 81 |   <span·class="id"·title="keyword">Variable</span>·<a·id="defs.A"·class="idref"·href="#defs.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| 82 |   <span·class="id"·title="keyword">Variable</span>·<a·id="defs.leA"·class="idref"·href="#defs.leA"><span·class="id"·title="variable">leA</span></a>·:·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#relation"><span·class="id"·title="definition">relation</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>.<br/> | 82 |   <span·class="id"·title="keyword">Variable</span>·<a·id="defs.leA"·class="idref"·href="#defs.leA"><span·class="id"·title="variable">leA</span></a>·:·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#relation"><span·class="id"·title="definition">relation</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>.<br/> | 
| Offset 139, 15 lines modified | Offset 139, 15 lines modified | ||
| 139 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="leA_Tree_Node"·class="idref"·href="#leA_Tree_Node"><span·class="id"·title="lemma">leA_Tree_Node</span></a>·:<br/> | 139 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="leA_Tree_Node"·class="idref"·href="#leA_Tree_Node"><span·class="id"·title="lemma">leA_Tree_Node</span></a>·:<br/> | 
| 140 |     <span·class="id"·title="keyword">forall</span>·(<a·id="a:36"·class="idref"·href="#a:36"><span·class="id"·title="binder">a</span></a>·<a·id="b:37"·class="idref"·href="#b:37"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="G:38"·class="idref"·href="#G:38"><span·class="id"·title="binder">G</span></a>·<a·id="D:39"·class="idref"·href="#D:39"><span·class="id"·title="binder">D</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>),·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:37"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:36"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Sorting.Heap.html#Tree_Node"><span·class="id"·title="constructor">Tree_Node</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:37"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#G:38"><span·class="id"·title="variable">G</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#D:39"><span·class="id"·title="variable">D</span></a>).<br/> | 140 |     <span·class="id"·title="keyword">forall</span>·(<a·id="a:36"·class="idref"·href="#a:36"><span·class="id"·title="binder">a</span></a>·<a·id="b:37"·class="idref"·href="#b:37"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="G:38"·class="idref"·href="#G:38"><span·class="id"·title="binder">G</span></a>·<a·id="D:39"·class="idref"·href="#D:39"><span·class="id"·title="binder">D</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>),·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:37"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:36"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Sorting.Heap.html#Tree_Node"><span·class="id"·title="constructor">Tree_Node</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:37"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#G:38"><span·class="id"·title="variable">G</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#D:39"><span·class="id"·title="variable">D</span></a>).<br/> | 
| 141 | <br/> | 141 | <br/> | 
| 142 | </div> | 142 | </div> | 
| 143 | <div·class="doc"> | 143 | <div·class="doc"> | 
| 144 | <a·id="lab | 144 | <a·id="lab431"></a><h2·class="section">The·heap·property</h2> | 
| 145 | </div> | 145 | </div> | 
| 146 | <div·class="code"> | 146 | <div·class="code"> | 
| 147 | <br/> | 147 | <br/> | 
| 148 |   <span·class="id"·title="keyword">Inductive</span>·<a·id="is_heap"·class="idref"·href="#is_heap"><span·class="id"·title="definition,·inductive"><span·id="is_heap_ind"·class="id"><span·id="is_heap_sind"·class="id">is_heap</span></span></span></a>·:·<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 148 |   <span·class="id"·title="keyword">Inductive</span>·<a·id="is_heap"·class="idref"·href="#is_heap"><span·class="id"·title="definition,·inductive"><span·id="is_heap_ind"·class="id"><span·id="is_heap_sind"·class="id">is_heap</span></span></span></a>·:·<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 149 |     |·<a·id="nil_is_heap"·class="idref"·href="#nil_is_heap"><span·class="id"·title="constructor">nil_is_heap</span></a>·:·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap:40"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#Tree_Leaf"><span·class="id"·title="constructor">Tree_Leaf</span></a><br/> | 149 |     |·<a·id="nil_is_heap"·class="idref"·href="#nil_is_heap"><span·class="id"·title="constructor">nil_is_heap</span></a>·:·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap:40"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#Tree_Leaf"><span·class="id"·title="constructor">Tree_Leaf</span></a><br/> | 
| Offset 191, 15 lines modified | Offset 191, 15 lines modified | ||
| 191 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="low_trans"·class="idref"·href="#low_trans"><span·class="id"·title="lemma">low_trans</span></a>·:<br/> | 191 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="low_trans"·class="idref"·href="#low_trans"><span·class="id"·title="lemma">low_trans</span></a>·:<br/> | 
| 192 |     <span·class="id"·title="keyword">forall</span>·(<a·id="T:58"·class="idref"·href="#T:58"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·(<a·id="a:59"·class="idref"·href="#a:59"><span·class="id"·title="binder">a</span></a>·<a·id="b:60"·class="idref"·href="#b:60"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>),·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:59"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:60"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:60"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:58"><span·class="id"·title="variable">T</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:59"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:58"><span·class="id"·title="variable">T</span></a>.<br/> | 192 |     <span·class="id"·title="keyword">forall</span>·(<a·id="T:58"·class="idref"·href="#T:58"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·(<a·id="a:59"·class="idref"·href="#a:59"><span·class="id"·title="binder">a</span></a>·<a·id="b:60"·class="idref"·href="#b:60"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>),·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:59"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:60"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:60"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:58"><span·class="id"·title="variable">T</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:59"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:58"><span·class="id"·title="variable">T</span></a>.<br/> | 
| 193 | <br/> | 193 | <br/> | 
| 194 | </div> | 194 | </div> | 
| 195 | <div·class="doc"> | 195 | <div·class="doc"> | 
| 196 | <a·id="lab | 196 | <a·id="lab432"></a><h2·class="section">Merging·two·sorted·lists</h2> | 
| 197 | </div> | 197 | </div> | 
| 198 | <div·class="code"> | 198 | <div·class="code"> | 
| 199 | <br/> | 199 | <br/> | 
| 200 |    <span·class="id"·title="keyword">Inductive</span>·<a·id="merge_lem"·class="idref"·href="#merge_lem"><span·class="id"·title="definition,·inductive"><span·id="merge_lem_rect"·class="id"><span·id="merge_lem_ind"·class="id"><span·id="merge_lem_rec"·class="id"><span·id="merge_lem_sind"·class="id">merge_lem</span></span></span></span></span></a>·(<a·id="l1:61"·class="idref"·href="#l1:61"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:62"·class="idref"·href="#l2:62"><span·class="id"·title="binder">l2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 200 |    <span·class="id"·title="keyword">Inductive</span>·<a·id="merge_lem"·class="idref"·href="#merge_lem"><span·class="id"·title="definition,·inductive"><span·id="merge_lem_rect"·class="id"><span·id="merge_lem_ind"·class="id"><span·id="merge_lem_rec"·class="id"><span·id="merge_lem_sind"·class="id">merge_lem</span></span></span></span></span></a>·(<a·id="l1:61"·class="idref"·href="#l1:61"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:62"·class="idref"·href="#l2:62"><span·class="id"·title="binder">l2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 
| 201 |     <a·id="merge_exist"·class="idref"·href="#merge_exist"><span·class="id"·title="constructor">merge_exist</span></a>·:<br/> | 201 |     <a·id="merge_exist"·class="idref"·href="#merge_exist"><span·class="id"·title="constructor">merge_exist</span></a>·:<br/> | 
| Offset 223, 15 lines modified | Offset 223, 15 lines modified | ||
| 223 |     <span·class="id"·title="keyword">forall</span>·<a·id="l1:67"·class="idref"·href="#l1:67"><span·class="id"·title="binder">l1</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Sorted.html#Sorted"><span·class="id"·title="inductive">Sorted</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l1:67"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 223 |     <span·class="id"·title="keyword">forall</span>·<a·id="l1:67"·class="idref"·href="#l1:67"><span·class="id"·title="binder">l1</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Sorted.html#Sorted"><span·class="id"·title="inductive">Sorted</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l1:67"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 224 |     <span·class="id"·title="keyword">forall</span>·<a·id="l2:68"·class="idref"·href="#l2:68"><span·class="id"·title="binder">l2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Sorted.html#Sorted"><span·class="id"·title="inductive">Sorted</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l2:68"><span·class="id"·title="variable">l2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#merge_lem"><span·class="id"·title="inductive">merge_lem</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l1:67"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l2:68"><span·class="id"·title="variable">l2</span></a>.<br/> | 224 |     <span·class="id"·title="keyword">forall</span>·<a·id="l2:68"·class="idref"·href="#l2:68"><span·class="id"·title="binder">l2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Sorted.html#Sorted"><span·class="id"·title="inductive">Sorted</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l2:68"><span·class="id"·title="variable">l2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#merge_lem"><span·class="id"·title="inductive">merge_lem</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l1:67"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l2:68"><span·class="id"·title="variable">l2</span></a>.<br/> | 
| 225 | <br/> | 225 | <br/> | 
| 226 | </div> | 226 | </div> | 
| 227 | <div·class="doc"> | 227 | <div·class="doc"> | 
| 228 | <a·id="lab | 228 | <a·id="lab433"></a><h2·class="section">From·trees·to·multisets</h2> | 
| 229 | <div·class="paragraph">·</div> | 229 | <div·class="paragraph">·</div> | 
| 230 | ·contents·of·a·tree·as·a·multiset· | 230 | ·contents·of·a·tree·as·a·multiset· | 
| 231 | <div·class="paragraph">·</div> | 231 | <div·class="paragraph">·</div> | 
| 232 | ·Nota·Bene·:·In·what·follows·the·definition·of·SingletonBag | 232 | ·Nota·Bene·:·In·what·follows·the·definition·of·SingletonBag | 
| Offset 259, 19 lines modified | Offset 259, 19 lines modified | ||
| 259 |   #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 259 |   #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 
| 260 |   <span·class="id"·title="keyword">Definition</span>·<a·id="equiv_Tree"·class="idref"·href="#equiv_Tree"><span·class="id"·title="definition">equiv_Tree</span></a>·(<a·id="t1:72"·class="idref"·href="#t1:72"><span·class="id"·title="binder">t1</span></a>·<a·id="t2:73"·class="idref"·href="#t2:73"><span·class="id"·title="binder">t2</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:=·<a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.Heap.html#contents"><span·class="id"·title="definition">contents</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#t1:72"><span·class="id"·title="variable">t1</span></a>)·(<a·class="idref"·href="Coq.Sorting.Heap.html#contents"><span·class="id"·title="definition">contents</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#t2:73"><span·class="id"·title="variable">t2</span></a>).<br/> | 260 |   <span·class="id"·title="keyword">Definition</span>·<a·id="equiv_Tree"·class="idref"·href="#equiv_Tree"><span·class="id"·title="definition">equiv_Tree</span></a>·(<a·id="t1:72"·class="idref"·href="#t1:72"><span·class="id"·title="binder">t1</span></a>·<a·id="t2:73"·class="idref"·href="#t2:73"><span·class="id"·title="binder">t2</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:=·<a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.Heap.html#contents"><span·class="id"·title="definition">contents</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#t1:72"><span·class="id"·title="variable">t1</span></a>)·(<a·class="idref"·href="Coq.Sorting.Heap.html#contents"><span·class="id"·title="definition">contents</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#t2:73"><span·class="id"·title="variable">t2</span></a>).<br/> | 
| 261 | <br/> | 261 | <br/> | 
| 262 | </div> | 262 | </div> | 
| 263 | <div·class="doc"> | 263 | <div·class="doc"> | 
| 264 | <a·id="lab | 264 | <a·id="lab434"></a><h1·class="section">From·lists·to·sorted·lists</h1> | 
| 265 | <div·class="paragraph">·</div> | 265 | <div·class="paragraph">·</div> | 
| 266 | <a·id="lab | 266 | <a·id="lab435"></a><h2·class="section">Specification·of·heap·insertion</h2> | 
| 267 | </div> | 267 | </div> | 
| 268 | <div·class="code"> | 268 | <div·class="code"> | 
| 269 | <br/> | 269 | <br/> | 
| 270 |   <span·class="id"·title="keyword">Inductive</span>·<a·id="insert_spec"·class="idref"·href="#insert_spec"><span·class="id"·title="definition,·inductive"><span·id="insert_spec_rect"·class="id"><span·id="insert_spec_ind"·class="id"><span·id="insert_spec_rec"·class="id"><span·id="insert_spec_sind"·class="id">insert_spec</span></span></span></span></span></a>·(<a·id="a:74"·class="idref"·href="#a:74"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="T:75"·class="idref"·href="#T:75"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 270 |   <span·class="id"·title="keyword">Inductive</span>·<a·id="insert_spec"·class="idref"·href="#insert_spec"><span·class="id"·title="definition,·inductive"><span·id="insert_spec_rect"·class="id"><span·id="insert_spec_ind"·class="id"><span·id="insert_spec_rec"·class="id"><span·id="insert_spec_sind"·class="id">insert_spec</span></span></span></span></span></a>·(<a·id="a:74"·class="idref"·href="#a:74"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="T:75"·class="idref"·href="#T:75"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 
| 271 |     <a·id="insert_exist"·class="idref"·href="#insert_exist"><span·class="id"·title="constructor">insert_exist</span></a>·:<br/> | 271 |     <a·id="insert_exist"·class="idref"·href="#insert_exist"><span·class="id"·title="constructor">insert_exist</span></a>·:<br/> | 
| Offset 285, 15 lines modified | Offset 285, 15 lines modified | ||
| 285 |   #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 285 |   #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 
| 286 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="insert"·class="idref"·href="#insert"><span·class="id"·title="lemma">insert</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="T:80"·class="idref"·href="#T:80"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:80"><span·class="id"·title="variable">T</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="a:81"·class="idref"·href="#a:81"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#insert_spec"><span·class="id"·title="inductive">insert_spec</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:81"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:80"><span·class="id"·title="variable">T</span></a>.<br/> | 286 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="insert"·class="idref"·href="#insert"><span·class="id"·title="lemma">insert</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="T:80"·class="idref"·href="#T:80"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:80"><span·class="id"·title="variable">T</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="a:81"·class="idref"·href="#a:81"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#insert_spec"><span·class="id"·title="inductive">insert_spec</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:81"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:80"><span·class="id"·title="variable">T</span></a>.<br/> | 
| 287 | <br/> | 287 | <br/> | 
| 288 | </div> | 288 | </div> | 
| 289 | <div·class="doc"> | 289 | <div·class="doc"> | 
| 290 | <a·id="lab | 290 | <a·id="lab436"></a><h2·class="section">Building·a·heap·from·a·list</h2> | 
| 291 | </div> | 291 | </div> | 
| 292 | <div·class="code"> | 292 | <div·class="code"> | 
| 293 | <br/> | 293 | <br/> | 
| 294 |   <span·class="id"·title="keyword">Inductive</span>·<a·id="build_heap"·class="idref"·href="#build_heap"><span·class="id"·title="definition,·inductive"><span·id="build_heap_rect"·class="id"><span·id="build_heap_ind"·class="id"><span·id="build_heap_rec"·class="id"><span·id="build_heap_sind"·class="id">build_heap</span></span></span></span></span></a>·(<a·id="l:82"·class="idref"·href="#l:82"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 294 |   <span·class="id"·title="keyword">Inductive</span>·<a·id="build_heap"·class="idref"·href="#build_heap"><span·class="id"·title="definition,·inductive"><span·id="build_heap_rect"·class="id"><span·id="build_heap_ind"·class="id"><span·id="build_heap_rec"·class="id"><span·id="build_heap_sind"·class="id">build_heap</span></span></span></span></span></a>·(<a·id="l:82"·class="idref"·href="#l:82"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 
| 295 |     <a·id="heap_exist"·class="idref"·href="#heap_exist"><span·class="id"·title="constructor">heap_exist</span></a>·:<br/> | 295 |     <a·id="heap_exist"·class="idref"·href="#heap_exist"><span·class="id"·title="constructor">heap_exist</span></a>·:<br/> | 
| Offset 305, 15 lines modified | Offset 305, 15 lines modified | ||
| 305 |   #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 305 |   #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 
| 306 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="list_to_heap"·class="idref"·href="#list_to_heap"><span·class="id"·title="lemma">list_to_heap</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:86"·class="idref"·href="#l:86"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#build_heap"><span·class="id"·title="inductive">build_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l:86"><span·class="id"·title="variable">l</span></a>.<br/> | 306 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="list_to_heap"·class="idref"·href="#list_to_heap"><span·class="id"·title="lemma">list_to_heap</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:86"·class="idref"·href="#l:86"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#build_heap"><span·class="id"·title="inductive">build_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l:86"><span·class="id"·title="variable">l</span></a>.<br/> | 
| 307 | <br/> | 307 | <br/> | 
| 308 | </div> | 308 | </div> | 
| 309 | <div·class="doc"> | 309 | <div·class="doc"> | 
| 310 | <a·id="lab | 310 | <a·id="lab437"></a><h2·class="section">Building·the·sorted·list</h2> | 
| 311 | </div> | 311 | </div> | 
| 312 | <div·class="code"> | 312 | <div·class="code"> | 
| 313 | <br/> | 313 | <br/> | 
| 314 |   <span·class="id"·title="keyword">Inductive</span>·<a·id="flat_spec"·class="idref"·href="#flat_spec"><span·class="id"·title="definition,·inductive"><span·id="flat_spec_rect"·class="id"><span·id="flat_spec_ind"·class="id"><span·id="flat_spec_rec"·class="id"><span·id="flat_spec_sind"·class="id">flat_spec</span></span></span></span></span></a>·(<a·id="T:87"·class="idref"·href="#T:87"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 314 |   <span·class="id"·title="keyword">Inductive</span>·<a·id="flat_spec"·class="idref"·href="#flat_spec"><span·class="id"·title="definition,·inductive"><span·id="flat_spec_rect"·class="id"><span·id="flat_spec_ind"·class="id"><span·id="flat_spec_rec"·class="id"><span·id="flat_spec_sind"·class="id">flat_spec</span></span></span></span></span></a>·(<a·id="T:87"·class="idref"·href="#T:87"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 
| 315 |     <a·id="flat_exist"·class="idref"·href="#flat_exist"><span·class="id"·title="constructor">flat_exist</span></a>·:<br/> | 315 |     <a·id="flat_exist"·class="idref"·href="#flat_exist"><span·class="id"·title="constructor">flat_exist</span></a>·:<br/> | 
| Offset 326, 15 lines modified | Offset 326, 15 lines modified | ||
| 326 |   #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 326 |   #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 
| 327 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="heap_to_list"·class="idref"·href="#heap_to_list"><span·class="id"·title="lemma">heap_to_list</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="T:92"·class="idref"·href="#T:92"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:92"><span·class="id"·title="variable">T</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#flat_spec"><span·class="id"·title="inductive">flat_spec</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:92"><span·class="id"·title="variable">T</span></a>.<br/> | 327 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="heap_to_list"·class="idref"·href="#heap_to_list"><span·class="id"·title="lemma">heap_to_list</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="T:92"·class="idref"·href="#T:92"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:92"><span·class="id"·title="variable">T</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#flat_spec"><span·class="id"·title="inductive">flat_spec</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:92"><span·class="id"·title="variable">T</span></a>.<br/> | 
| 328 | <br/> | 328 | <br/> | 
| 329 | </div> | 329 | </div> | 
| 330 | <div·class="doc"> | 330 | <div·class="doc"> | 
| Max diff block lines reached; 381/18177 bytes (2.10%) of diff not shown. | |||
| Offset 85, 15 lines modified | Offset 85, 15 lines modified | ||
| 85 | <br/> | 85 | <br/> | 
| 86 | <span·class="id"·title="keyword">Section</span>·<a·id="Permut"·class="idref"·href="#Permut"><span·class="id"·title="section">Permut</span></a>.<br/> | 86 | <span·class="id"·title="keyword">Section</span>·<a·id="Permut"·class="idref"·href="#Permut"><span·class="id"·title="section">Permut</span></a>.<br/> | 
| 87 | <br/> | 87 | <br/> | 
| 88 | </div> | 88 | </div> | 
| 89 | <div·class="doc"> | 89 | <div·class="doc"> | 
| 90 | <a·id="lab | 90 | <a·id="lab426"></a><h1·class="section">From·lists·to·multisets</h1> | 
| 91 | </div> | 91 | </div> | 
| 92 | <div·class="code"> | 92 | <div·class="code"> | 
| 93 | <br/> | 93 | <br/> | 
| 94 | <span·class="id"·title="keyword">Variable</span>·<a·id="Permut.A"·class="idref"·href="#Permut.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 94 | <span·class="id"·title="keyword">Variable</span>·<a·id="Permut.A"·class="idref"·href="#Permut.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| 95 | <span·class="id"·title="keyword">Variable</span>·<a·id="Permut.eqA"·class="idref"·href="#Permut.eqA"><span·class="id"·title="variable">eqA</span></a>·:·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#relation"><span·class="id"·title="definition">relation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>.<br/> | 95 | <span·class="id"·title="keyword">Variable</span>·<a·id="Permut.eqA"·class="idref"·href="#Permut.eqA"><span·class="id"·title="variable">eqA</span></a>·:·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#relation"><span·class="id"·title="definition">relation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>.<br/> | 
| Offset 124, 15 lines modified | Offset 124, 15 lines modified | ||
| 124 |   <span·class="id"·title="keyword">forall</span>·<a·id="l:14"·class="idref"·href="#l:14"><span·class="id"·title="binder">l</span></a>·<a·id="m:15"·class="idref"·href="#m:15"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>,<br/> | 124 |   <span·class="id"·title="keyword">forall</span>·<a·id="l:14"·class="idref"·href="#l:14"><span·class="id"·title="binder">l</span></a>·<a·id="m:15"·class="idref"·href="#m:15"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>,<br/> | 
| 125 |     <a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:14"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:15"><span·class="id"·title="variable">m</span></a>))·(<a·class="idref"·href="Coq.Sets.Multiset.html#munion"><span·class="id"·title="definition">munion</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:14"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:15"><span·class="id"·title="variable">m</span></a>)).<br/> | 125 |     <a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:14"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:15"><span·class="id"·title="variable">m</span></a>))·(<a·class="idref"·href="Coq.Sets.Multiset.html#munion"><span·class="id"·title="definition">munion</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:14"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:15"><span·class="id"·title="variable">m</span></a>)).<br/> | 
| 126 | <br/> | 126 | <br/> | 
| 127 | </div> | 127 | </div> | 
| 128 | <div·class="doc"> | 128 | <div·class="doc"> | 
| 129 | <a·id="lab | 129 | <a·id="lab427"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">permutation</span></span>:·definition·and·basic·properties</h1> | 
| 130 | </div> | 130 | </div> | 
| 131 | <div·class="code"> | 131 | <div·class="code"> | 
| 132 | <br/> | 132 | <br/> | 
| 133 | <span·class="id"·title="keyword">Definition</span>·<a·id="permutation"·class="idref"·href="#permutation"><span·class="id"·title="definition">permutation</span></a>·(<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:16"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:17"><span·class="id"·title="variable">m</span></a>).<br/> | 133 | <span·class="id"·title="keyword">Definition</span>·<a·id="permutation"·class="idref"·href="#permutation"><span·class="id"·title="definition">permutation</span></a>·(<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:16"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:17"><span·class="id"·title="variable">m</span></a>).<br/> | 
| Offset 198, 15 lines modified | Offset 198, 15 lines modified | ||
| 198 | <span·class="id"·title="keyword">Lemma</span>·<a·id="permut_rev"·class="idref"·href="#permut_rev"><span·class="id"·title="lemma">permut_rev</span></a>·:<br/> | 198 | <span·class="id"·title="keyword">Lemma</span>·<a·id="permut_rev"·class="idref"·href="#permut_rev"><span·class="id"·title="lemma">permut_rev</span></a>·:<br/> | 
| 199 |   <span·class="id"·title="keyword">forall</span>·<a·id="l:60"·class="idref"·href="#l:60"><span·class="id"·title="binder">l</span></a>,·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:60"><span·class="id"·title="variable">l</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:60"><span·class="id"·title="variable">l</span></a>).<br/> | 199 |   <span·class="id"·title="keyword">forall</span>·<a·id="l:60"·class="idref"·href="#l:60"><span·class="id"·title="binder">l</span></a>,·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:60"><span·class="id"·title="variable">l</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:60"><span·class="id"·title="variable">l</span></a>).<br/> | 
| 200 | <br/> | 200 | <br/> | 
| 201 | </div> | 201 | </div> | 
| 202 | <div·class="doc"> | 202 | <div·class="doc"> | 
| 203 | <a·id="lab | 203 | <a·id="lab428"></a><h1·class="section">Some·inversion·results.</h1> | 
| 204 | </div> | 204 | </div> | 
| 205 | <div·class="code"> | 205 | <div·class="code"> | 
| 206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="permut_conv_inv"·class="idref"·href="#permut_conv_inv"><span·class="id"·title="lemma">permut_conv_inv</span></a>·:<br/> | 206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="permut_conv_inv"·class="idref"·href="#permut_conv_inv"><span·class="id"·title="lemma">permut_conv_inv</span></a>·:<br/> | 
| 207 |   <span·class="id"·title="keyword">forall</span>·<a·id="e:61"·class="idref"·href="#e:61"><span·class="id"·title="binder">e</span></a>·<a·id="l1:62"·class="idref"·href="#l1:62"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:63"·class="idref"·href="#l2:63"><span·class="id"·title="binder">l2</span></a>,·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#e:61"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l1:62"><span·class="id"·title="variable">l1</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#e:61"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l2:63"><span·class="id"·title="variable">l2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l1:62"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l2:63"><span·class="id"·title="variable">l2</span></a>.<br/> | 207 |   <span·class="id"·title="keyword">forall</span>·<a·id="e:61"·class="idref"·href="#e:61"><span·class="id"·title="binder">e</span></a>·<a·id="l1:62"·class="idref"·href="#l1:62"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:63"·class="idref"·href="#l2:63"><span·class="id"·title="binder">l2</span></a>,·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#e:61"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l1:62"><span·class="id"·title="variable">l1</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#e:61"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l2:63"><span·class="id"·title="variable">l2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l1:62"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l2:63"><span·class="id"·title="variable">l2</span></a>.<br/> | 
| 208 | <br/> | 208 | <br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab425"></a><h1·class="section">List·permutations·as·a·composition·of·adjacent·transpositions</h1> | 
| 50 | </div> | 50 | </div> | 
| 51 | <div·class="code"> | 51 | <div·class="code"> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | <br/> | 53 | <br/> | 
| Offset 58, 15 lines modified | Offset 58, 15 lines modified | ||
| 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#"><span·class="id"·title="library">BinPos</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#"><span·class="id"·title="library">BinNat</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>·<a·class="idref"·href="Coq.NArith.Nnat.html#"><span·class="id"·title="library">Nnat</span></a>·<a·class="idref"·href="Coq.Strings.Byte.html#"><span·class="id"·title="library">Coq.Strings.Byte</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#"><span·class="id"·title="library">BinPos</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#"><span·class="id"·title="library">BinNat</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>·<a·class="idref"·href="Coq.NArith.Nnat.html#"><span·class="id"·title="library">Nnat</span></a>·<a·class="idref"·href="Coq.Strings.Byte.html#"><span·class="id"·title="library">Coq.Strings.Byte</span></a>.<br/> | 
| 59 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#IfNotations"><span·class="id"·title="module">IfNotations</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#IfNotations"><span·class="id"·title="module">IfNotations</span></a>.<br/> | 
| 60 | <br/> | 60 | <br/> | 
| 61 | </div> | 61 | </div> | 
| 62 | <div·class="doc"> | 62 | <div·class="doc"> | 
| 63 | <a·id="lab | 63 | <a·id="lab493"></a><h1·class="section">Definition·of·ascii·characters</h1> | 
| 64 | <div·class="paragraph">·</div> | 64 | <div·class="paragraph">·</div> | 
| 65 | ·Definition·of·ascii·character·as·a·8·bits·constructor· | 65 | ·Definition·of·ascii·character·as·a·8·bits·constructor· | 
| 66 | </div> | 66 | </div> | 
| 67 | <div·class="code"> | 67 | <div·class="code"> | 
| Offset 138, 15 lines modified | Offset 138, 15 lines modified | ||
| 138 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_neq"·class="idref"·href="#eqb_neq"><span·class="id"·title="lemma">eqb_neq</span></a>·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>·<a·id="y:20"·class="idref"·href="#y:20"><span·class="id"·title="binder">y</span></a>·:·(<a·class="idref"·href="Coq.Strings.Ascii.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#c01d0cbde2bd1a5028600f3321bbcca8"><span·class="id"·title="notation">=?</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#y:20"><span·class="id"·title="variable">y</span></a>)%<span·class="id"·title="var">char</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#y:20"><span·class="id"·title="variable">y</span></a>.··<br/> | 138 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_neq"·class="idref"·href="#eqb_neq"><span·class="id"·title="lemma">eqb_neq</span></a>·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>·<a·id="y:20"·class="idref"·href="#y:20"><span·class="id"·title="binder">y</span></a>·:·(<a·class="idref"·href="Coq.Strings.Ascii.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#c01d0cbde2bd1a5028600f3321bbcca8"><span·class="id"·title="notation">=?</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#y:20"><span·class="id"·title="variable">y</span></a>)%<span·class="id"·title="var">char</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#y:20"><span·class="id"·title="variable">y</span></a>.··<br/> | 
| 139 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_compat"·class="idref"·href="#eqb_compat"><span·class="id"·title="lemma">eqb_compat</span></a>:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Morphisms.Proper</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>))·<a·class="idref"·href="Coq.Strings.Ascii.html#eqb"><span·class="id"·title="definition">eqb</span></a>.<br/> | 139 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_compat"·class="idref"·href="#eqb_compat"><span·class="id"·title="lemma">eqb_compat</span></a>:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Morphisms.Proper</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>))·<a·class="idref"·href="Coq.Strings.Ascii.html#eqb"><span·class="id"·title="definition">eqb</span></a>.<br/> | 
| 140 | · | 140 | · | 
| 141 | <br/> | 141 | <br/> | 
| 142 | </div> | 142 | </div> | 
| 143 | <div·class="doc"> | 143 | <div·class="doc"> | 
| 144 | <a·id="lab | 144 | <a·id="lab494"></a><h1·class="section">Conversion·between·natural·numbers·modulo·256·and·ascii·characters</h1> | 
| 145 | <div·class="paragraph">·</div> | 145 | <div·class="paragraph">·</div> | 
| 146 | ·Auxiliary·function·that·turns·a·positive·into·an·ascii·by | 146 | ·Auxiliary·function·that·turns·a·positive·into·an·ascii·by | 
| 147 | ···looking·at·the·last·8·bits,·ie·z·mod·2^8· | 147 | ···looking·at·the·last·8·bits,·ie·z·mod·2^8· | 
| 148 | </div> | 148 | </div> | 
| 149 | <div·class="code"> | 149 | <div·class="code"> | 
| Offset 280, 15 lines modified | Offset 280, 15 lines modified | ||
| 280 | <span·class="id"·title="keyword">Infix</span>·<a·id="a03efcf41b31b03a310bd4ab973892ea"·class="idref"·href="#a03efcf41b31b03a310bd4ab973892ea"><span·class="id"·title="notation">"</span></a><?"··:=·<a·class="idref"·href="Coq.Strings.Ascii.html#ltb"><span·class="id"·title="definition">ltb</span></a>·:·<span·class="id"·title="var">char_scope</span>.<br/> | 280 | <span·class="id"·title="keyword">Infix</span>·<a·id="a03efcf41b31b03a310bd4ab973892ea"·class="idref"·href="#a03efcf41b31b03a310bd4ab973892ea"><span·class="id"·title="notation">"</span></a><?"··:=·<a·class="idref"·href="Coq.Strings.Ascii.html#ltb"><span·class="id"·title="definition">ltb</span></a>·:·<span·class="id"·title="var">char_scope</span>.<br/> | 
| 281 | <span·class="id"·title="keyword">Infix</span>·<a·id="f55772a1fdb9e6cfa8863e0bb3b80b46"·class="idref"·href="#f55772a1fdb9e6cfa8863e0bb3b80b46"><span·class="id"·title="notation">"</span></a><=?"·:=·<a·class="idref"·href="Coq.Strings.Ascii.html#leb"><span·class="id"·title="definition">leb</span></a>·:·<span·class="id"·title="var">char_scope</span>.<br/> | 281 | <span·class="id"·title="keyword">Infix</span>·<a·id="f55772a1fdb9e6cfa8863e0bb3b80b46"·class="idref"·href="#f55772a1fdb9e6cfa8863e0bb3b80b46"><span·class="id"·title="notation">"</span></a><=?"·:=·<a·class="idref"·href="Coq.Strings.Ascii.html#leb"><span·class="id"·title="definition">leb</span></a>·:·<span·class="id"·title="var">char_scope</span>.<br/> | 
| 282 | <br/> | 282 | <br/> | 
| 283 | </div> | 283 | </div> | 
| 284 | <div·class="doc"> | 284 | <div·class="doc"> | 
| 285 | <a·id="lab95 | 285 | <a·id="lab495"></a><h1·class="section">Concrete·syntax</h1> | 
| 286 | <div·class="paragraph">·</div> | 286 | <div·class="paragraph">·</div> | 
| 287 | <div·class="paragraph">·</div> | 287 | <div·class="paragraph">·</div> | 
| 288 | ··Ascii·characters·can·be·represented·in·scope·char_scope·as·follows: | 288 | ··Ascii·characters·can·be·represented·in·scope·char_scope·as·follows: | 
| Offset 124, 15 lines modified | Offset 124, 15 lines modified | ||
| 124 |   <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 124 |   <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 125 |   <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>.<br/> | 125 |   <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>.<br/> | 
| 126 | <br/> | 126 | <br/> | 
| 127 | </div> | 127 | </div> | 
| 128 | <div·class="doc"> | 128 | <div·class="doc"> | 
| 129 | <a·id="lab | 129 | <a·id="lab498"></a><h1·class="section">Properties·of·string·length</h1> | 
| 130 | </div> | 130 | </div> | 
| 131 | <div·class="code"> | 131 | <div·class="code"> | 
| 132 | <br/> | 132 | <br/> | 
| 133 | <span·class="id"·title="keyword">Lemma</span>·<a·id="valid_length"·class="idref"·href="#valid_length"><span·class="id"·title="lemma">valid_length</span></a>·(<a·id="s:14"·class="idref"·href="#s:14"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:<br/> | 133 | <span·class="id"·title="keyword">Lemma</span>·<a·id="valid_length"·class="idref"·href="#valid_length"><span·class="id"·title="lemma">valid_length</span></a>·(<a·id="s:14"·class="idref"·href="#s:14"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:<br/> | 
| 134 |   <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:14"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>.<br/> | 134 |   <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:14"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>.<br/> | 
| Offset 165, 15 lines modified | Offset 165, 15 lines modified | ||
| 165 |   <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 165 |   <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 166 |   <span·class="id"·title="var">length</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#148675259b0fe2bf16829f061c3d9d0a"><span·class="id"·title="notation">+</span></a>·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)%<span·class="id"·title="var">uint63</span>.<br/> | 166 |   <span·class="id"·title="var">length</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#148675259b0fe2bf16829f061c3d9d0a"><span·class="id"·title="notation">+</span></a>·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)%<span·class="id"·title="var">uint63</span>.<br/> | 
| 167 | <br/> | 167 | <br/> | 
| 168 | </div> | 168 | </div> | 
| 169 | <div·class="doc"> | 169 | <div·class="doc"> | 
| 170 | <a·id="lab | 170 | <a·id="lab499"></a><h1·class="section">Properties·of·string·get</h1> | 
| 171 | </div> | 171 | </div> | 
| 172 | <div·class="code"> | 172 | <div·class="code"> | 
| 173 | <br/> | 173 | <br/> | 
| 174 | <span·class="id"·title="keyword">Lemma</span>·<a·id="get_char63_valid"·class="idref"·href="#get_char63_valid"><span·class="id"·title="lemma">get_char63_valid</span></a>·(<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·(<a·id="i:27"·class="idref"·href="#i:27"><span·class="id"·title="binder">i</span></a>·:·<span·class="id"·title="var">int</span>)·:<br/> | 174 | <span·class="id"·title="keyword">Lemma</span>·<a·id="get_char63_valid"·class="idref"·href="#get_char63_valid"><span·class="id"·title="lemma">get_char63_valid</span></a>·(<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·(<a·id="i:27"·class="idref"·href="#i:27"><span·class="id"·title="binder">i</span></a>·:·<span·class="id"·title="var">int</span>)·:<br/> | 
| 175 |   <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:27"><span·class="id"·title="variable">i</span></a>).<br/> | 175 |   <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:27"><span·class="id"·title="variable">i</span></a>).<br/> | 
| Offset 208, 15 lines modified | Offset 208, 15 lines modified | ||
| 208 |   <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 208 |   <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 209 |   <span·class="id"·title="var">get</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:41"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:42"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:42"><span·class="id"·title="variable">s2</span></a>·(<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#Uint63NotationsInternalB.::uint63_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:41"><span·class="id"·title="variable">s1</span></a>).<br/> | 209 |   <span·class="id"·title="var">get</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:41"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:42"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:42"><span·class="id"·title="variable">s2</span></a>·(<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#Uint63NotationsInternalB.::uint63_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:41"><span·class="id"·title="variable">s1</span></a>).<br/> | 
| 210 | <br/> | 210 | <br/> | 
| 211 | </div> | 211 | </div> | 
| 212 | <div·class="doc"> | 212 | <div·class="doc"> | 
| 213 | <a·id="lab | 213 | <a·id="lab500"></a><h1·class="section">Properties·of·string·comparison</h1> | 
| 214 | </div> | 214 | </div> | 
| 215 | <div·class="code"> | 215 | <div·class="code"> | 
| 216 | <br/> | 216 | <br/> | 
| 217 | <span·class="id"·title="keyword">Lemma</span>·<a·id="char63_compare_refl"·class="idref"·href="#char63_compare_refl"><span·class="id"·title="lemma">char63_compare_refl</span></a>·(<a·id="c1:44"·class="idref"·href="#c1:44"><span·class="id"·title="binder">c1</span></a>·<a·id="c2:45"·class="idref"·href="#c2:45"><span·class="id"·title="binder">c2</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:<br/> | 217 | <span·class="id"·title="keyword">Lemma</span>·<a·id="char63_compare_refl"·class="idref"·href="#char63_compare_refl"><span·class="id"·title="lemma">char63_compare_refl</span></a>·(<a·id="c1:44"·class="idref"·href="#c1:44"><span·class="id"·title="binder">c1</span></a>·<a·id="c2:45"·class="idref"·href="#c2:45"><span·class="id"·title="binder">c2</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:<br/> | 
| 218 |   <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_compare"><span·class="id"·title="abbreviation">char63_compare</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c1:44"><span·class="id"·title="variable">c1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c2:45"><span·class="id"·title="variable">c2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Eq"><span·class="id"·title="constructor">Eq</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c1:44"><span·class="id"·title="variable">c1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c2:45"><span·class="id"·title="variable">c2</span></a>.<br/> | 218 |   <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_compare"><span·class="id"·title="abbreviation">char63_compare</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c1:44"><span·class="id"·title="variable">c1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c2:45"><span·class="id"·title="variable">c2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Eq"><span·class="id"·title="constructor">Eq</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c1:44"><span·class="id"·title="variable">c1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c2:45"><span·class="id"·title="variable">c2</span></a>.<br/> | 
| Offset 289, 27 lines modified | Offset 289, 27 lines modified | ||
| 289 |       <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:80"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 289 |       <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:80"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 
| 290 |       <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_compare"><span·class="id"·title="abbreviation">char63_compare</span></a>·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:79"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</span></a>)·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:80"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a><a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> | 290 |       <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_compare"><span·class="id"·title="abbreviation">char63_compare</span></a>·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:79"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</span></a>)·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:80"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a><a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 291 | <br/> | 291 | <br/> | 
| 292 | </div> | 292 | </div> | 
| 293 | <div·class="doc"> | 293 | <div·class="doc"> | 
| 294 | <a·id="lab | 294 | <a·id="lab501"></a><h1·class="section">Properties·of·make</h1> | 
| 295 | </div> | 295 | </div> | 
| 296 | <div·class="code"> | 296 | <div·class="code"> | 
| 297 | <br/> | 297 | <br/> | 
| 298 | <span·class="id"·title="keyword">Lemma</span>·<a·id="make_0"·class="idref"·href="#make_0"><span·class="id"·title="lemma">make_0</span></a>·(<a·id="c:83"·class="idref"·href="#c:83"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:·<span·class="id"·title="var">make</span>·0·<a·class="idref"·href="Coq.Strings.PString.html#c:83"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·""%<span·class="id"·title="var">pstring</span>.<br/> | 298 | <span·class="id"·title="keyword">Lemma</span>·<a·id="make_0"·class="idref"·href="#make_0"><span·class="id"·title="lemma">make_0</span></a>·(<a·id="c:83"·class="idref"·href="#c:83"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:·<span·class="id"·title="var">make</span>·0·<a·class="idref"·href="Coq.Strings.PString.html#c:83"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·""%<span·class="id"·title="var">pstring</span>.<br/> | 
| 299 | <br/> | 299 | <br/> | 
| 300 | </div> | 300 | </div> | 
| 301 | <div·class="doc"> | 301 | <div·class="doc"> | 
| 302 | <a·id="lab | 302 | <a·id="lab502"></a><h1·class="section">Properties·of·cat</h1> | 
| 303 | </div> | 303 | </div> | 
| 304 | <div·class="code"> | 304 | <div·class="code"> | 
| 305 | <br/> | 305 | <br/> | 
| 306 | <span·class="id"·title="keyword">Lemma</span>·<a·id="length_0_empty"·class="idref"·href="#length_0_empty"><span·class="id"·title="lemma">length_0_empty</span></a>·(<a·id="s:84"·class="idref"·href="#s:84"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:84"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0%<span·class="id"·title="var">uint63</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s:84"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·""%<span·class="id"·title="var">pstring</span>.<br/> | 306 | <span·class="id"·title="keyword">Lemma</span>·<a·id="length_0_empty"·class="idref"·href="#length_0_empty"><span·class="id"·title="lemma">length_0_empty</span></a>·(<a·id="s:84"·class="idref"·href="#s:84"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:84"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0%<span·class="id"·title="var">uint63</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s:84"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·""%<span·class="id"·title="var">pstring</span>.<br/> | 
| Offset 323, 15 lines modified | Offset 323, 15 lines modified | ||
| 323 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cat_assoc"·class="idref"·href="#cat_assoc"><span·class="id"·title="lemma">cat_assoc</span></a>·(<a·id="s1:87"·class="idref"·href="#s1:87"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:88"·class="idref"·href="#s2:88"><span·class="id"·title="binder">s2</span></a>·<a·id="s3:89"·class="idref"·href="#s3:89"><span·class="id"·title="binder">s3</span></a>·:·<span·class="id"·title="var">string</span>)·:<br/> | 323 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cat_assoc"·class="idref"·href="#cat_assoc"><span·class="id"·title="lemma">cat_assoc</span></a>·(<a·id="s1:87"·class="idref"·href="#s1:87"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:88"·class="idref"·href="#s2:88"><span·class="id"·title="binder">s2</span></a>·<a·id="s3:89"·class="idref"·href="#s3:89"><span·class="id"·title="binder">s3</span></a>·:·<span·class="id"·title="var">string</span>)·:<br/> | 
| 324 |   <span·class="id"·title="var">cat</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:87"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:88"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Strings.PString.html#s3:89"><span·class="id"·title="variable">s3</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:87"><span·class="id"·title="variable">s1</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:88"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s3:89"><span·class="id"·title="variable">s3</span></a>).<br/> | 324 |   <span·class="id"·title="var">cat</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:87"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:88"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Strings.PString.html#s3:89"><span·class="id"·title="variable">s3</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:87"><span·class="id"·title="variable">s1</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:88"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s3:89"><span·class="id"·title="variable">s3</span></a>).<br/> | 
| 325 | <br/> | 325 | <br/> | 
| 326 | </div> | 326 | </div> | 
| 327 | <div·class="doc"> | 327 | <div·class="doc"> | 
| 328 | <a·id="lab | 328 | <a·id="lab503"></a><h1·class="section">Properties·of·sub</h1> | 
| 329 | </div> | 329 | </div> | 
| 330 | <div·class="code"> | 330 | <div·class="code"> | 
| 331 | <br/> | 331 | <br/> | 
| 332 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sub_full"·class="idref"·href="#sub_full"><span·class="id"·title="lemma">sub_full</span></a>·(<a·id="s:90"·class="idref"·href="#s:90"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<span·class="id"·title="var">sub</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>·0·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>.<br/> | 332 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sub_full"·class="idref"·href="#sub_full"><span·class="id"·title="lemma">sub_full</span></a>·(<a·id="s:90"·class="idref"·href="#s:90"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<span·class="id"·title="var">sub</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>·0·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>.<br/> | 
| Offset 371, 15 lines modified | Offset 371, 15 lines modified | ||
| 371 |   (<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>)%<span·class="id"·title="var">Z</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 371 |   (<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>)%<span·class="id"·title="var">Z</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 372 |   <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#app"><span·class="id"·title="definition">app</span></a>·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>)·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</span></a>).<br/> | 372 |   <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#app"><span·class="id"·title="definition">app</span></a>·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>)·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</span></a>).<br/> | 
| 373 | <br/> | 373 | <br/> | 
| 374 | </div> | 374 | </div> | 
| 375 | <div·class="doc"> | 375 | <div·class="doc"> | 
| 376 | <a·id="lab | 376 | <a·id="lab504"></a><h1·class="section">Ordered·type</h1> | 
| 377 | </div> | 377 | </div> | 
| 378 | <div·class="code"> | 378 | <div·class="code"> | 
| 379 | <br/> | 379 | <br/> | 
| 380 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>.<br/> | 380 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>.<br/> | 
| Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
| 52 | <span·class="id"·title="keyword">Definition</span>·<a·id="char63_valid"·class="idref"·href="#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<a·id="c:1"·class="idref"·href="#c:1"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:=<br/> | 52 | <span·class="id"·title="keyword">Definition</span>·<a·id="char63_valid"·class="idref"·href="#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<a·id="c:1"·class="idref"·href="#c:1"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:=<br/> | 
| 53 |   (<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#c:1"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#Uint63NotationsInternalB.::uint63_scope:x_'land'_x"><span·class="id"·title="notation">land</span></a>·255·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#c:1"><span·class="id"·title="variable">c</span></a>)%<span·class="id"·title="var">uint63</span>.<br/> | 53 |   (<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#c:1"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#Uint63NotationsInternalB.::uint63_scope:x_'land'_x"><span·class="id"·title="notation">land</span></a>·255·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#c:1"><span·class="id"·title="variable">c</span></a>)%<span·class="id"·title="var">uint63</span>.<br/> | 
| 54 | <br/> | 54 | <br/> | 
| 55 | </div> | 55 | </div> | 
| 56 | <div·class="doc"> | 56 | <div·class="doc"> | 
| 57 | <a·id="lab | 57 | <a·id="lab496"></a><h1·class="section">Conversion·to·/·from·lists</h1> | 
| 58 | </div> | 58 | </div> | 
| 59 | <div·class="code"> | 59 | <div·class="code"> | 
| 60 | <br/> | 60 | <br/> | 
| 61 | <span·class="id"·title="keyword">Definition</span>·<a·id="to_list"·class="idref"·href="#to_list"><span·class="id"·title="definition">to_list</span></a>·(<a·id="s:2"·class="idref"·href="#s:2"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>·:=<br/> | 61 | <span·class="id"·title="keyword">Definition</span>·<a·id="to_list"·class="idref"·href="#to_list"><span·class="id"·title="definition">to_list</span></a>·(<a·id="s:2"·class="idref"·href="#s:2"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>·:=<br/> | 
| 62 |   <a·class="idref"·href="Coq.Lists.List.html#map"><span·class="id"·title="definition">List.map</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="i:3"·class="idref"·href="#i:3"><span·class="id"·title="binder">i</span></a>·=>·<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:2"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#of_nat"><span·class="id"·title="abbreviation">of_nat</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#i:3"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.Lists.List.html#seq"><span·class="id"·title="definition">List.seq</span></a>·0·(<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_nat"><span·class="id"·title="abbreviation">to_nat</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:2"><span·class="id"·title="variable">s</span></a>))).<br/> | 62 |   <a·class="idref"·href="Coq.Lists.List.html#map"><span·class="id"·title="definition">List.map</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="i:3"·class="idref"·href="#i:3"><span·class="id"·title="binder">i</span></a>·=>·<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:2"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#of_nat"><span·class="id"·title="abbreviation">of_nat</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#i:3"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.Lists.List.html#seq"><span·class="id"·title="definition">List.seq</span></a>·0·(<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_nat"><span·class="id"·title="abbreviation">to_nat</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:2"><span·class="id"·title="variable">s</span></a>))).<br/> | 
| Offset 87, 15 lines modified | Offset 87, 15 lines modified | ||
| 87 |   <span·class="id"·title="keyword">forall</span>·(<a·id="s:13"·class="idref"·href="#s:13"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>),<br/> | 87 |   <span·class="id"·title="keyword">forall</span>·(<a·id="s:13"·class="idref"·href="#s:13"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>),<br/> | 
| 88 |     <a·class="idref"·href="Coq.Lists.List.html#Forall"><span·class="id"·title="inductive">List.Forall</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:13"><span·class="id"·title="variable">s</span></a>).<br/> | 88 |     <a·class="idref"·href="Coq.Lists.List.html#Forall"><span·class="id"·title="inductive">List.Forall</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:13"><span·class="id"·title="variable">s</span></a>).<br/> | 
| 89 | <br/> | 89 | <br/> | 
| 90 | </div> | 90 | </div> | 
| 91 | <div·class="doc"> | 91 | <div·class="doc"> | 
| 92 | <a·id="lab | 92 | <a·id="lab497"></a><h1·class="section">Axioms·relating·string·operations·with·list·operations</h1> | 
| 93 | </div> | 93 | </div> | 
| 94 | <div·class="code"> | 94 | <div·class="code"> | 
| 95 | <br/> | 95 | <br/> | 
| 96 | <span·class="id"·title="keyword">Axiom</span>·<a·id="length_spec"·class="idref"·href="#length_spec"><span·class="id"·title="axiom">length_spec</span></a>·:<br/> | 96 | <span·class="id"·title="keyword">Axiom</span>·<a·id="length_spec"·class="idref"·href="#length_spec"><span·class="id"·title="axiom">length_spec</span></a>·:<br/> | 
| 97 |   <span·class="id"·title="keyword">forall</span>·(<a·id="s:16"·class="idref"·href="#s:16"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>),<br/> | 97 |   <span·class="id"·title="keyword">forall</span>·(<a·id="s:16"·class="idref"·href="#s:16"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>),<br/> | 
| Offset 61, 15 lines modified | Offset 61, 15 lines modified | ||
| 61 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Byte.html#"><span·class="id"·title="library">Coq.Strings.Byte</span></a>.<br/> | 61 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Byte.html#"><span·class="id"·title="library">Coq.Strings.Byte</span></a>.<br/> | 
| 62 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#IfNotations"><span·class="id"·title="module">IfNotations</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#IfNotations"><span·class="id"·title="module">IfNotations</span></a>.<br/> | 
| 63 | <br/> | 63 | <br/> | 
| 64 | </div> | 64 | </div> | 
| 65 | <div·class="doc"> | 65 | <div·class="doc"> | 
| 66 | <a·id="lab | 66 | <a·id="lab505"></a><h3·class="section">Definition·of·strings</h3> | 
| 67 | <div·class="paragraph">·</div> | 67 | <div·class="paragraph">·</div> | 
| 68 | ·Implementation·of·string·as·list·of·ascii·characters· | 68 | ·Implementation·of·string·as·list·of·ascii·characters· | 
| 69 | </div> | 69 | </div> | 
| 70 | <div·class="code"> | 70 | <div·class="code"> | 
| Offset 132, 15 lines modified | Offset 132, 15 lines modified | ||
| 132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_neq"·class="idref"·href="#eqb_neq"><span·class="id"·title="lemma">eqb_neq</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="y:18"·class="idref"·href="#y:18"><span·class="id"·title="binder">y</span></a>·:·(<a·class="idref"·href="Coq.Strings.String.html#x:17"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Strings.String.html#5886275aa8d678ebe8bc38ad41c652c0"><span·class="id"·title="notation">=?</span></a>·<a·class="idref"·href="Coq.Strings.String.html#y:18"><span·class="id"·title="variable">y</span></a>)%<span·class="id"·title="var">string</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Strings.String.html#x:17"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Strings.String.html#y:18"><span·class="id"·title="variable">y</span></a>.··<br/> | 132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_neq"·class="idref"·href="#eqb_neq"><span·class="id"·title="lemma">eqb_neq</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="y:18"·class="idref"·href="#y:18"><span·class="id"·title="binder">y</span></a>·:·(<a·class="idref"·href="Coq.Strings.String.html#x:17"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Strings.String.html#5886275aa8d678ebe8bc38ad41c652c0"><span·class="id"·title="notation">=?</span></a>·<a·class="idref"·href="Coq.Strings.String.html#y:18"><span·class="id"·title="variable">y</span></a>)%<span·class="id"·title="var">string</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Strings.String.html#x:17"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Strings.String.html#y:18"><span·class="id"·title="variable">y</span></a>.··<br/> | 
| 133 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_compat"·class="idref"·href="#eqb_compat"><span·class="id"·title="lemma">eqb_compat</span></a>:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Morphisms.Proper</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>))·<a·class="idref"·href="Coq.Strings.String.html#eqb"><span·class="id"·title="definition">eqb</span></a>.<br/> | 133 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_compat"·class="idref"·href="#eqb_compat"><span·class="id"·title="lemma">eqb_compat</span></a>:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Morphisms.Proper</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>))·<a·class="idref"·href="Coq.Strings.String.html#eqb"><span·class="id"·title="definition">eqb</span></a>.<br/> | 
| 134 | · | 134 | · | 
| 135 | <br/> | 135 | <br/> | 
| 136 | </div> | 136 | </div> | 
| 137 | <div·class="doc"> | 137 | <div·class="doc"> | 
| 138 | <a·id="lab | 138 | <a·id="lab506"></a><h3·class="section">Compare·strings·lexicographically</h3> | 
| 139 | </div> | 139 | </div> | 
| 140 | <div·class="code"> | 140 | <div·class="code"> | 
| 141 | <br/> | 141 | <br/> | 
| 142 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="compare"·class="idref"·href="#compare"><span·class="id"·title="definition">compare</span></a>·(<a·id="s1:19"·class="idref"·href="#s1:19"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:20"·class="idref"·href="#s2:20"><span·class="id"·title="binder">s2</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#comparison"><span·class="id"·title="inductive">comparison</span></a>·:=<br/> | 142 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="compare"·class="idref"·href="#compare"><span·class="id"·title="definition">compare</span></a>·(<a·id="s1:19"·class="idref"·href="#s1:19"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:20"·class="idref"·href="#s2:20"><span·class="id"·title="binder">s2</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#comparison"><span·class="id"·title="inductive">comparison</span></a>·:=<br/> | 
| 143 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Strings.String.html#s1:19"><span·class="id"·title="variable">s1</span></a>,·<a·class="idref"·href="Coq.Strings.String.html#s2:20"><span·class="id"·title="variable">s2</span></a>·<span·class="id"·title="keyword">with</span><br/> | 143 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Strings.String.html#s1:19"><span·class="id"·title="variable">s1</span></a>,·<a·class="idref"·href="Coq.Strings.String.html#s2:20"><span·class="id"·title="variable">s2</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 182, 15 lines modified | Offset 182, 15 lines modified | ||
| 182 | <span·class="id"·title="keyword">Infix</span>·<a·id="87601238f1eaf090ffe62946ced339ba"·class="idref"·href="#87601238f1eaf090ffe62946ced339ba"><span·class="id"·title="notation">"</span></a><?"··:=·<a·class="idref"·href="Coq.Strings.String.html#ltb"><span·class="id"·title="definition">ltb</span></a>·····:·<span·class="id"·title="var">string_scope</span>.<br/> | 182 | <span·class="id"·title="keyword">Infix</span>·<a·id="87601238f1eaf090ffe62946ced339ba"·class="idref"·href="#87601238f1eaf090ffe62946ced339ba"><span·class="id"·title="notation">"</span></a><?"··:=·<a·class="idref"·href="Coq.Strings.String.html#ltb"><span·class="id"·title="definition">ltb</span></a>·····:·<span·class="id"·title="var">string_scope</span>.<br/> | 
| 183 | <span·class="id"·title="keyword">Infix</span>·<a·id="942750b36f058c78253954f4d17e5eee"·class="idref"·href="#942750b36f058c78253954f4d17e5eee"><span·class="id"·title="notation">"</span></a><=?"·:=·<a·class="idref"·href="Coq.Strings.String.html#leb"><span·class="id"·title="definition">leb</span></a>·····:·<span·class="id"·title="var">string_scope</span>.<br/> | 183 | <span·class="id"·title="keyword">Infix</span>·<a·id="942750b36f058c78253954f4d17e5eee"·class="idref"·href="#942750b36f058c78253954f4d17e5eee"><span·class="id"·title="notation">"</span></a><=?"·:=·<a·class="idref"·href="Coq.Strings.String.html#leb"><span·class="id"·title="definition">leb</span></a>·····:·<span·class="id"·title="var">string_scope</span>.<br/> | 
| 184 | <br/> | 184 | <br/> | 
| 185 | </div> | 185 | </div> | 
| 186 | <div·class="doc"> | 186 | <div·class="doc"> | 
| 187 | <a·id="lab | 187 | <a·id="lab507"></a><h3·class="section">Concatenation·of·strings</h3> | 
| 188 | </div> | 188 | </div> | 
| 189 | <div·class="code"> | 189 | <div·class="code"> | 
| 190 | <br/> | 190 | <br/> | 
| 191 | <span·class="id"·title="keyword">Reserved·Notation</span>·"x·++·y"·(<span·class="id"·title="tactic">right</span>·<span·class="id"·title="keyword">associativity</span>,·<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·60).<br/> | 191 | <span·class="id"·title="keyword">Reserved·Notation</span>·"x·++·y"·(<span·class="id"·title="tactic">right</span>·<span·class="id"·title="keyword">associativity</span>,·<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·60).<br/> | 
| Offset 273, 15 lines modified | Offset 273, 15 lines modified | ||
| 273 |  <span·class="id"·title="keyword">forall</span>·(<a·id="s1:56"·class="idref"·href="#s1:56"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:57"·class="idref"·href="#s2:57"><span·class="id"·title="binder">s2</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·(<a·id="n:58"·class="idref"·href="#n:58"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>),<br/> | 273 |  <span·class="id"·title="keyword">forall</span>·(<a·id="s1:56"·class="idref"·href="#s1:56"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:57"·class="idref"·href="#s2:57"><span·class="id"·title="binder">s2</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·(<a·id="n:58"·class="idref"·href="#n:58"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>),<br/> | 
| 274 |  <a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·<a·class="idref"·href="Coq.Strings.String.html#n:58"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s2:57"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#n:58"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Strings.String.html#length"><span·class="id"·title="definition">length</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s1:56"><span·class="id"·title="variable">s1</span></a>)·(<a·class="idref"·href="Coq.Strings.String.html#s1:56"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s2:57"><span·class="id"·title="variable">s2</span></a>).<br/> | 274 |  <a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·<a·class="idref"·href="Coq.Strings.String.html#n:58"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s2:57"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#n:58"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Strings.String.html#length"><span·class="id"·title="definition">length</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s1:56"><span·class="id"·title="variable">s1</span></a>)·(<a·class="idref"·href="Coq.Strings.String.html#s1:56"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s2:57"><span·class="id"·title="variable">s2</span></a>).<br/> | 
| 275 | <br/> | 275 | <br/> | 
| 276 | </div> | 276 | </div> | 
| 277 | <div·class="doc"> | 277 | <div·class="doc"> | 
| 278 | <a·id="lab | 278 | <a·id="lab508"></a><h3·class="section">Substrings</h3> | 
| 279 | <div·class="paragraph">·</div> | 279 | <div·class="paragraph">·</div> | 
| 280 | ·<span·class="inlinecode"><span·class="id"·title="var">substring</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·returns·the·substring·of·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·that·starts | 280 | ·<span·class="inlinecode"><span·class="id"·title="var">substring</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·returns·the·substring·of·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·that·starts | 
| 281 | ····at·position·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·and·of·length·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>; | 281 | ····at·position·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·and·of·length·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>; | 
| 282 | ····if·this·does·not·make·sense·it·returns·<span·class="inlinecode">""</span>· | 282 | ····if·this·does·not·make·sense·it·returns·<span·class="inlinecode">""</span>· | 
| 283 | </div> | 283 | </div> | 
| Offset 322, 15 lines modified | Offset 322, 15 lines modified | ||
| 322 | <span·class="id"·title="keyword">Theorem</span>·<a·id="substring_correct2"·class="idref"·href="#substring_correct2"><span·class="id"·title="lemma">substring_correct2</span></a>·:<br/> | 322 | <span·class="id"·title="keyword">Theorem</span>·<a·id="substring_correct2"·class="idref"·href="#substring_correct2"><span·class="id"·title="lemma">substring_correct2</span></a>·:<br/> | 
| 323 |  <span·class="id"·title="keyword">forall</span>·(<a·id="s:70"·class="idref"·href="#s:70"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·(<a·id="n:71"·class="idref"·href="#n:71"><span·class="id"·title="binder">n</span></a>·<a·id="m:72"·class="idref"·href="#m:72"><span·class="id"·title="binder">m</span></a>·<a·id="p:73"·class="idref"·href="#p:73"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>),·<a·class="idref"·href="Coq.Strings.String.html#m:72"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#p:73"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·<a·class="idref"·href="Coq.Strings.String.html#p:73"><span·class="id"·title="variable">p</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#substring"><span·class="id"·title="definition">substring</span></a>·<a·class="idref"·href="Coq.Strings.String.html#n:71"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Strings.String.html#m:72"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:70"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#None"><span·class="id"·title="constructor">None</span></a>.<br/> | 323 |  <span·class="id"·title="keyword">forall</span>·(<a·id="s:70"·class="idref"·href="#s:70"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·(<a·id="n:71"·class="idref"·href="#n:71"><span·class="id"·title="binder">n</span></a>·<a·id="m:72"·class="idref"·href="#m:72"><span·class="id"·title="binder">m</span></a>·<a·id="p:73"·class="idref"·href="#p:73"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>),·<a·class="idref"·href="Coq.Strings.String.html#m:72"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#p:73"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·<a·class="idref"·href="Coq.Strings.String.html#p:73"><span·class="id"·title="variable">p</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#substring"><span·class="id"·title="definition">substring</span></a>·<a·class="idref"·href="Coq.Strings.String.html#n:71"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Strings.String.html#m:72"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:70"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#None"><span·class="id"·title="constructor">None</span></a>.<br/> | 
| 324 | <br/> | 324 | <br/> | 
| 325 | </div> | 325 | </div> | 
| 326 | <div·class="doc"> | 326 | <div·class="doc"> | 
| 327 | <a·id="lab | 327 | <a·id="lab509"></a><h3·class="section">Concatenating·lists·of·strings</h3> | 
| 328 | <div·class="paragraph">·</div> | 328 | <div·class="paragraph">·</div> | 
| 329 | ·<span·class="inlinecode"><span·class="id"·title="var">concat</span></span>·<span·class="inlinecode"><span·class="id"·title="var">sep</span></span>·<span·class="inlinecode"><span·class="id"·title="var">sl</span></span>·concatenates·the·list·of·strings·<span·class="inlinecode"><span·class="id"·title="var">sl</span></span>,·inserting | 329 | ·<span·class="inlinecode"><span·class="id"·title="var">concat</span></span>·<span·class="inlinecode"><span·class="id"·title="var">sep</span></span>·<span·class="inlinecode"><span·class="id"·title="var">sl</span></span>·concatenates·the·list·of·strings·<span·class="inlinecode"><span·class="id"·title="var">sl</span></span>,·inserting | 
| 330 | ····the·separator·string·<span·class="inlinecode"><span·class="id"·title="var">sep</span></span>·between·each.· | 330 | ····the·separator·string·<span·class="inlinecode"><span·class="id"·title="var">sep</span></span>·between·each.· | 
| 331 | </div> | 331 | </div> | 
| 332 | <div·class="code"> | 332 | <div·class="code"> | 
| Offset 343, 15 lines modified | Offset 343, 15 lines modified | ||
| 343 |   |·<a·class="idref"·href="Coq.Init.Datatypes.html#cons"><span·class="id"·title="constructor">cons</span></a>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">xs</span>·=>·<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#sep:74"><span·class="id"·title="variable">sep</span></a>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#concat:76"><span·class="id"·title="definition">concat</span></a>·<a·class="idref"·href="Coq.Strings.String.html#sep:74"><span·class="id"·title="variable">sep</span></a>·<span·class="id"·title="var">xs</span><br/> | 343 |   |·<a·class="idref"·href="Coq.Init.Datatypes.html#cons"><span·class="id"·title="constructor">cons</span></a>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">xs</span>·=>·<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#sep:74"><span·class="id"·title="variable">sep</span></a>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#concat:76"><span·class="id"·title="definition">concat</span></a>·<a·class="idref"·href="Coq.Strings.String.html#sep:74"><span·class="id"·title="variable">sep</span></a>·<span·class="id"·title="var">xs</span><br/> | 
| 344 |   <span·class="id"·title="keyword">end</span>.<br/> | 344 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 345 | <br/> | 345 | <br/> | 
| 346 | </div> | 346 | </div> | 
| 347 | <div·class="doc"> | 347 | <div·class="doc"> | 
| 348 | <a·id="lab | 348 | <a·id="lab510"></a><h3·class="section">Test·functions</h3> | 
| 349 | <div·class="paragraph">·</div> | 349 | <div·class="paragraph">·</div> | 
| 350 | ·Test·if·<span·class="inlinecode"><span·class="id"·title="var">s1</span></span>·is·a·prefix·of·<span·class="inlinecode"><span·class="id"·title="var">s2</span></span>· | 350 | ·Test·if·<span·class="inlinecode"><span·class="id"·title="var">s1</span></span>·is·a·prefix·of·<span·class="inlinecode"><span·class="id"·title="var">s2</span></span>· | 
| 351 | </div> | 351 | </div> | 
| 352 | <div·class="code"> | 352 | <div·class="code"> | 
| Offset 495, 15 lines modified | Offset 495, 15 lines modified | ||
| 495 |   |·<a·class="idref"·href="Coq.Init.Datatypes.html#None"><span·class="id"·title="constructor">None</span></a>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a><br/> | 495 |   |·<a·class="idref"·href="Coq.Init.Datatypes.html#None"><span·class="id"·title="constructor">None</span></a>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a><br/> | 
| 496 |   <span·class="id"·title="keyword">end</span>.<br/> | 496 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 497 | <br/> | 497 | <br/> | 
| 498 | </div> | 498 | </div> | 
| 499 | <div·class="doc"> | 499 | <div·class="doc"> | 
| 500 | <a·id="lab | 500 | <a·id="lab511"></a><h3·class="section">Conversion·to/from·<span·class="inlinecode"><span·class="id"·title="var">list</span></span>·<span·class="inlinecode"><span·class="id"·title="var">ascii</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">list</span></span>·<span·class="inlinecode"><span·class="id"·title="var">byte</span></span></h3> | 
| 501 | </div> | 501 | </div> | 
| 502 | <div·class="code"> | 502 | <div·class="code"> | 
| 503 | <br/> | 503 | <br/> | 
| 504 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="string_of_list_ascii"·class="idref"·href="#string_of_list_ascii"><span·class="id"·title="definition">string_of_list_ascii</span></a>·(<a·id="s:110"·class="idref"·href="#s:110"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#ascii"><span·class="id"·title="inductive">ascii</span></a>)·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a><br/> | 504 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="string_of_list_ascii"·class="idref"·href="#string_of_list_ascii"><span·class="id"·title="definition">string_of_list_ascii</span></a>·(<a·id="s:110"·class="idref"·href="#s:110"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#ascii"><span·class="id"·title="inductive">ascii</span></a>)·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a><br/> | 
| 505 |   :=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Strings.String.html#s:110"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 505 |   :=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Strings.String.html#s:110"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 538, 15 lines modified | Offset 538, 15 lines modified | ||
| 538 | <br/> | 538 | <br/> | 
| 539 | <span·class="id"·title="keyword">Lemma</span>·<a·id="list_byte_of_string_of_list_byte"·class="idref"·href="#list_byte_of_string_of_list_byte"><span·class="id"·title="lemma">list_byte_of_string_of_list_byte</span></a>·<a·id="s:121"·class="idref"·href="#s:121"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#list_byte_of_string"><span·class="id"·title="definition">list_byte_of_string</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#string_of_list_byte"><span·class="id"·title="definition">string_of_list_byte</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:121"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:121"><span·class="id"·title="variable">s</span></a>.<br/> | 539 | <span·class="id"·title="keyword">Lemma</span>·<a·id="list_byte_of_string_of_list_byte"·class="idref"·href="#list_byte_of_string_of_list_byte"><span·class="id"·title="lemma">list_byte_of_string_of_list_byte</span></a>·<a·id="s:121"·class="idref"·href="#s:121"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#list_byte_of_string"><span·class="id"·title="definition">list_byte_of_string</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#string_of_list_byte"><span·class="id"·title="definition">string_of_list_byte</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:121"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:121"><span·class="id"·title="variable">s</span></a>.<br/> | 
| 540 | <br/> | 540 | <br/> | 
| 541 | </div> | 541 | </div> | 
| 542 | <div·class="doc"> | 542 | <div·class="doc"> | 
| 543 | <a·id="lab | 543 | <a·id="lab512"></a><h3·class="section">Concrete·syntax</h3> | 
| 544 | <div·class="paragraph">·</div> | 544 | <div·class="paragraph">·</div> | 
| 545 | <div·class="paragraph">·</div> | 545 | <div·class="paragraph">·</div> | 
| 546 | ··The·concrete·syntax·for·strings·in·scope·string_scope·follows·the | 546 | ··The·concrete·syntax·for·strings·in·scope·string_scope·follows·the | 
| Max diff block lines reached; -1/15468 bytes (-0.01%) of diff not shown. | |||
| Offset 56, 39 lines modified | Offset 56, 39 lines modified | ||
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="doc"> | 57 | <div·class="doc"> | 
| 58 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of | 58 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of | 
| 59 | ····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Equalities.v</span></span>·directly·now.· | 59 | ····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Equalities.v</span></span>·directly·now.· | 
| 60 | <div·class="paragraph">·</div> | 60 | <div·class="paragraph">·</div> | 
| 61 | <a·id="lab | 61 | <a·id="lab479"></a><h1·class="section">Types·with·Equalities,·and·nothing·more·(for·subtyping·purpose)</h1> | 
| 62 | </div> | 62 | </div> | 
| 63 | <div·class="code"> | 63 | <div·class="code"> | 
| 64 | <br/> | 64 | <br/> | 
| 65 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="EqualityType"·class="idref"·href="#EqualityType"><span·class="id"·title="module">EqualityType</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#EqualityTypeOrig"><span·class="id"·title="module">Equalities.EqualityTypeOrig</span></a>.<br/> | 65 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="EqualityType"·class="idref"·href="#EqualityType"><span·class="id"·title="module">EqualityType</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#EqualityTypeOrig"><span·class="id"·title="module">Equalities.EqualityTypeOrig</span></a>.<br/> | 
| 66 | <br/> | 66 | <br/> | 
| 67 | </div> | 67 | </div> | 
| 68 | <div·class="doc"> | 68 | <div·class="doc"> | 
| 69 | <a·id="lab | 69 | <a·id="lab480"></a><h1·class="section">Types·with·decidable·Equalities·(but·no·ordering)</h1> | 
| 70 | </div> | 70 | </div> | 
| 71 | <div·class="code"> | 71 | <div·class="code"> | 
| 72 | <br/> | 72 | <br/> | 
| 73 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="DecidableType"·class="idref"·href="#DecidableType"><span·class="id"·title="module">DecidableType</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeOrig"><span·class="id"·title="module">Equalities.DecidableTypeOrig</span></a>.<br/> | 73 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="DecidableType"·class="idref"·href="#DecidableType"><span·class="id"·title="module">DecidableType</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeOrig"><span·class="id"·title="module">Equalities.DecidableTypeOrig</span></a>.<br/> | 
| 74 | <br/> | 74 | <br/> | 
| 75 | </div> | 75 | </div> | 
| 76 | <div·class="doc"> | 76 | <div·class="doc"> | 
| 77 | <a·id="lab | 77 | <a·id="lab481"></a><h1·class="section">Additional·notions·about·keys·and·datas·used·in·FMap</h1> | 
| 78 | </div> | 78 | </div> | 
| 79 | <div·class="code"> | 79 | <div·class="code"> | 
| 80 | <br/> | 80 | <br/> | 
| 81 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyDecidableType"·class="idref"·href="#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<span·class="id"·title="var">D</span>:<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>).<br/> | 81 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyDecidableType"·class="idref"·href="#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<span·class="id"·title="var">D</span>:<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>).<br/> | 
| 82 |  <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.DecidableType.html#D"><span·class="id"·title="module">D</span></a>.<br/> | 82 |  <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.DecidableType.html#D"><span·class="id"·title="module">D</span></a>.<br/> | 
| Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="doc"> | 54 | <div·class="doc"> | 
| 55 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of | 55 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of | 
| 56 | ····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Equalities.v</span></span>·directly·now.· | 56 | ····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Equalities.v</span></span>·directly·now.· | 
| 57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> | 
| 58 | <a·id="lab | 58 | <a·id="lab472"></a><h1·class="section">Examples·of·Decidable·Type·structures.</h1> | 
| 59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> | 
| 60 | ·A·particular·case·of·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·where | 60 | ·A·particular·case·of·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·where | 
| 61 | ····the·equality·is·the·usual·one·of·Coq.· | 61 | ····the·equality·is·the·usual·one·of·Coq.· | 
| 62 | </div> | 62 | </div> | 
| 63 | <div·class="code"> | 63 | <div·class="code"> | 
| Offset 65, 29 lines modified | Offset 65, 29 lines modified | ||
| 65 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Nop"·class="idref"·href="#Nop"><span·class="id"·title="module">Nop</span></a>.<br/> | 65 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Nop"·class="idref"·href="#Nop"><span·class="id"·title="module">Nop</span></a>.<br/> | 
| 66 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#Nop"><span·class="id"·title="module">Nop</span></a>.<br/> | 66 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#Nop"><span·class="id"·title="module">Nop</span></a>.<br/> | 
| 67 | <br/> | 67 | <br/> | 
| 68 | </div> | 68 | </div> | 
| 69 | <div·class="doc"> | 69 | <div·class="doc"> | 
| 70 | <a·id="lab4 | 70 | <a·id="lab462"></a><h1·class="section">Structure·with·just·a·base·type·<span·class="inlinecode"><span·class="id"·title="var">t</span></span></h1> | 
| 71 | </div> | 71 | </div> | 
| 72 | <div·class="code"> | 72 | <div·class="code"> | 
| 73 | <br/> | 73 | <br/> | 
| 74 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Typ"·class="idref"·href="#Typ"><span·class="id"·title="module">Typ</span></a>.<br/> | 74 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Typ"·class="idref"·href="#Typ"><span·class="id"·title="module">Typ</span></a>.<br/> | 
| 75 |   <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>(10)·<a·id="Typ.t"·class="idref"·href="#Typ.t"><span·class="id"·title="axiom">t</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 75 |   <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>(10)·<a·id="Typ.t"·class="idref"·href="#Typ.t"><span·class="id"·title="axiom">t</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 
| 76 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#Typ"><span·class="id"·title="module">Typ</span></a>.<br/> | 76 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#Typ"><span·class="id"·title="module">Typ</span></a>.<br/> | 
| 77 | <br/> | 77 | <br/> | 
| 78 | </div> | 78 | </div> | 
| 79 | <div·class="doc"> | 79 | <div·class="doc"> | 
| 80 | <a·id="lab4 | 80 | <a·id="lab463"></a><h1·class="section">Structure·with·an·equality·relation·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span></h1> | 
| 81 | </div> | 81 | </div> | 
| 82 | <div·class="code"> | 82 | <div·class="code"> | 
| 83 | <br/> | 83 | <br/> | 
| 84 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasEq"·class="idref"·href="#HasEq"><span·class="id"·title="module">HasEq</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">T</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Typ"><span·class="id"·title="module">Typ</span></a>).<br/> | 84 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasEq"·class="idref"·href="#HasEq"><span·class="id"·title="module">HasEq</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">T</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Typ"><span·class="id"·title="module">Typ</span></a>).<br/> | 
| 85 |   <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>(30)·<a·id="HasEq.eq"·class="idref"·href="#HasEq.eq"><span·class="id"·title="axiom">eq</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>.<br/> | 85 |   <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>(30)·<a·id="HasEq.eq"·class="idref"·href="#HasEq.eq"><span·class="id"·title="axiom">eq</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>.<br/> | 
| Offset 105, 30 lines modified | Offset 105, 30 lines modified | ||
| 105 | <br/> | 105 | <br/> | 
| 106 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Eq'"·class="idref"·href="#Eq'"><span·class="id"·title="module">Eq'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>.<br/> | 106 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Eq'"·class="idref"·href="#Eq'"><span·class="id"·title="module">Eq'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>.<br/> | 
| 107 | <br/> | 107 | <br/> | 
| 108 | </div> | 108 | </div> | 
| 109 | <div·class="doc"> | 109 | <div·class="doc"> | 
| 110 | <a·id="lab4 | 110 | <a·id="lab464"></a><h1·class="section">Specification·of·the·equality·via·the·<span·class="inlinecode"><span·class="id"·title="var">Equivalence</span></span>·type·class</h1> | 
| 111 | </div> | 111 | </div> | 
| 112 | <div·class="code"> | 112 | <div·class="code"> | 
| 113 | <br/> | 113 | <br/> | 
| 114 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsEq"·class="idref"·href="#IsEq"><span·class="id"·title="module">IsEq</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>).<br/> | 114 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsEq"·class="idref"·href="#IsEq"><span·class="id"·title="module">IsEq</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>).<br/> | 
| 115 | #[<span·class="id"·title="var">global</span>]<br/> | 115 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 116 |   <span·class="id"·title="var">Declare</span>·<span·class="id"·title="keyword">Instance</span>·<a·id="IsEq.eq_equiv"·class="idref"·href="#IsEq.eq_equiv"><span·class="id"·title="instance">eq_equiv</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E.eq"><span·class="id"·title="axiom">eq</span></a>.<br/> | 116 |   <span·class="id"·title="var">Declare</span>·<span·class="id"·title="keyword">Instance</span>·<a·id="IsEq.eq_equiv"·class="idref"·href="#IsEq.eq_equiv"><span·class="id"·title="instance">eq_equiv</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E.eq"><span·class="id"·title="axiom">eq</span></a>.<br/> | 
| 117 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>.<br/> | 117 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>.<br/> | 
| 118 | <br/> | 118 | <br/> | 
| 119 | </div> | 119 | </div> | 
| 120 | <div·class="doc"> | 120 | <div·class="doc"> | 
| 121 | <a·id="lab4 | 121 | <a·id="lab465"></a><h1·class="section">Earlier·specification·of·equality·by·three·separate·lemmas.</h1> | 
| 122 | </div> | 122 | </div> | 
| 123 | <div·class="code"> | 123 | <div·class="code"> | 
| 124 | <br/> | 124 | <br/> | 
| 125 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsEqOrig"·class="idref"·href="#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq'"><span·class="id"·title="module">Eq'</span></a>).<br/> | 125 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsEqOrig"·class="idref"·href="#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq'"><span·class="id"·title="module">Eq'</span></a>).<br/> | 
| 126 |   <span·class="id"·title="keyword">Axiom</span>·<a·id="IsEqOrig.eq_refl"·class="idref"·href="#IsEqOrig.eq_refl"><span·class="id"·title="axiom">eq_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#E.t"><span·class="id"·title="axiom">t</span></a>,·<a·class="idref"·href="Coq.Structures.Equalities.html#x:5"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> | 126 |   <span·class="id"·title="keyword">Axiom</span>·<a·id="IsEqOrig.eq_refl"·class="idref"·href="#IsEqOrig.eq_refl"><span·class="id"·title="axiom">eq_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#E.t"><span·class="id"·title="axiom">t</span></a>,·<a·class="idref"·href="Coq.Structures.Equalities.html#x:5"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> | 
| Offset 140, 29 lines modified | Offset 140, 29 lines modified | ||
| 140 |   <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">eq_refl</span>·<span·class="id"·title="var">eq_trans</span>·:·<span·class="id"·title="var">core</span>.<br/> | 140 |   <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">eq_refl</span>·<span·class="id"·title="var">eq_trans</span>·:·<span·class="id"·title="var">core</span>.<br/> | 
| 141 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>.<br/> | 141 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>.<br/> | 
| 142 | <br/> | 142 | <br/> | 
| 143 | </div> | 143 | </div> | 
| 144 | <div·class="doc"> | 144 | <div·class="doc"> | 
| 145 | <a·id="lab4 | 145 | <a·id="lab466"></a><h1·class="section">Types·with·decidable·equality</h1> | 
| 146 | </div> | 146 | </div> | 
| 147 | <div·class="code"> | 147 | <div·class="code"> | 
| 148 | <br/> | 148 | <br/> | 
| 149 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasEqDec"·class="idref"·href="#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq'"><span·class="id"·title="module">Eq'</span></a>).<br/> | 149 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasEqDec"·class="idref"·href="#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq'"><span·class="id"·title="module">Eq'</span></a>).<br/> | 
| 150 |   <span·class="id"·title="keyword">Parameter</span>·<a·id="HasEqDec.eq_dec"·class="idref"·href="#HasEqDec.eq_dec"><span·class="id"·title="axiom">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="y:18"·class="idref"·href="#y:18"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#E.t"><span·class="id"·title="axiom">t</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#x:17"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#y:18"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#x:17"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#y:18"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 150 |   <span·class="id"·title="keyword">Parameter</span>·<a·id="HasEqDec.eq_dec"·class="idref"·href="#HasEqDec.eq_dec"><span·class="id"·title="axiom">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="y:18"·class="idref"·href="#y:18"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#E.t"><span·class="id"·title="axiom">t</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#x:17"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#y:18"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#x:17"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#y:18"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 151 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>.<br/> | 151 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>.<br/> | 
| 152 | <br/> | 152 | <br/> | 
| 153 | </div> | 153 | </div> | 
| 154 | <div·class="doc"> | 154 | <div·class="doc"> | 
| 155 | <a·id="lab4 | 155 | <a·id="lab467"></a><h1·class="section">Boolean·Equality</h1> | 
| 156 | <div·class="paragraph">·</div> | 156 | <div·class="paragraph">·</div> | 
| 157 | ·Having·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>·is·the·same·as·having·a·boolean·equality·plus | 157 | ·Having·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>·is·the·same·as·having·a·boolean·equality·plus | 
| 158 | ····a·correctness·proof.· | 158 | ····a·correctness·proof.· | 
| 159 | </div> | 159 | </div> | 
| 160 | <div·class="code"> | 160 | <div·class="code"> | 
| Offset 249, 15 lines modified | Offset 249, 15 lines modified | ||
| 249 |  <a·class="idref"·href="Coq.Structures.Equalities.html#BooleanDecidableType"><span·class="id"·title="module">BooleanDecidableType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqbNotation"><span·class="id"·title="module">EqbNotation</span></a>.<br/> | 249 |  <a·class="idref"·href="Coq.Structures.Equalities.html#BooleanDecidableType"><span·class="id"·title="module">BooleanDecidableType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqbNotation"><span·class="id"·title="module">EqbNotation</span></a>.<br/> | 
| 250 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="DecidableTypeFull'"·class="idref"·href="#DecidableTypeFull'"><span·class="id"·title="module">DecidableTypeFull'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeFull"><span·class="id"·title="module">DecidableTypeFull</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>.<br/> | 250 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="DecidableTypeFull'"·class="idref"·href="#DecidableTypeFull'"><span·class="id"·title="module">DecidableTypeFull'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeFull"><span·class="id"·title="module">DecidableTypeFull</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>.<br/> | 
| 251 | <br/> | 251 | <br/> | 
| 252 | </div> | 252 | </div> | 
| 253 | <div·class="doc"> | 253 | <div·class="doc"> | 
| 254 | <a·id="lab4 | 254 | <a·id="lab468"></a><h1·class="section">Compatibility·wrapper·from/to·the·old·version·of</h1> | 
| 255 | ······<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>· | 255 | ······<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>· | 
| 256 | </div> | 256 | </div> | 
| 257 | <div·class="code"> | 257 | <div·class="code"> | 
| 258 | <br/> | 258 | <br/> | 
| 259 | <span·class="id"·title="keyword">Module</span>·<a·id="BackportEq"·class="idref"·href="#BackportEq"><span·class="id"·title="module">BackportEq</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>)(<span·class="id"·title="var">F</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 259 | <span·class="id"·title="keyword">Module</span>·<a·id="BackportEq"·class="idref"·href="#BackportEq"><span·class="id"·title="module">BackportEq</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>)(<span·class="id"·title="var">F</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 
| Offset 288, 15 lines modified | Offset 288, 15 lines modified | ||
| 288 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_DT"·class="idref"·href="#Update_DT"><span·class="id"·title="module">Update_DT</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeOrig"><span·class="id"·title="module">DecidableTypeOrig</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeBoth"><span·class="id"·title="module">DecidableTypeBoth</span></a><br/> | 288 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_DT"·class="idref"·href="#Update_DT"><span·class="id"·title="module">Update_DT</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeOrig"><span·class="id"·title="module">DecidableTypeOrig</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeBoth"><span·class="id"·title="module">DecidableTypeBoth</span></a><br/> | 
| 289 |  :=·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#UpdateEq"><span·class="id"·title="module">UpdateEq</span></a>.<br/> | 289 |  :=·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#UpdateEq"><span·class="id"·title="module">UpdateEq</span></a>.<br/> | 
| 290 | <br/> | 290 | <br/> | 
| 291 | </div> | 291 | </div> | 
| 292 | <div·class="doc"> | 292 | <div·class="doc"> | 
| 293 | <a·id="lab4 | 293 | <a·id="lab469"></a><h1·class="section">Having·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>·is·equivalent·to·having·<span·class="inlinecode"><span·class="id"·title="var">eqb</span></span>·and·its·spec.</h1> | 
| 294 | </div> | 294 | </div> | 
| 295 | <div·class="code"> | 295 | <div·class="code"> | 
| 296 | <br/> | 296 | <br/> | 
| 297 | <span·class="id"·title="keyword">Module</span>·<a·id="HasEqDec2Bool"·class="idref"·href="#HasEqDec2Bool"><span·class="id"·title="module">HasEqDec2Bool</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>)(<span·class="id"·title="var">F</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqBool"><span·class="id"·title="module">HasEqBool</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 297 | <span·class="id"·title="keyword">Module</span>·<a·id="HasEqDec2Bool"·class="idref"·href="#HasEqDec2Bool"><span·class="id"·title="module">HasEqDec2Bool</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>)(<span·class="id"·title="var">F</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqBool"><span·class="id"·title="module">HasEqBool</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 
| 298 |  <span·class="id"·title="keyword">Definition</span>·<a·id="HasEqDec2Bool.eqb"·class="idref"·href="#HasEqDec2Bool.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="y:28"·class="idref"·href="#y:28"><span·class="id"·title="binder">y</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#F.eq_dec"><span·class="id"·title="axiom">F.eq_dec</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#y:28"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 298 |  <span·class="id"·title="keyword">Definition</span>·<a·id="HasEqDec2Bool.eqb"·class="idref"·href="#HasEqDec2Bool.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="y:28"·class="idref"·href="#y:28"><span·class="id"·title="binder">y</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#F.eq_dec"><span·class="id"·title="axiom">F.eq_dec</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#y:28"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 
| Offset 386, 15 lines modified | Offset 386, 15 lines modified | ||
| 386 | <br/> | 386 | <br/> | 
| 387 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#BoolEqualityFacts"><span·class="id"·title="module">BoolEqualityFacts</span></a>.<br/> | 387 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#BoolEqualityFacts"><span·class="id"·title="module">BoolEqualityFacts</span></a>.<br/> | 
| 388 | <br/> | 388 | <br/> | 
| Max diff block lines reached; 351/15533 bytes (2.26%) of diff not shown. | |||
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <br/> | 51 | <br/> | 
| 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab482"></a><h1·class="section">Keys·and·datas·used·in·the·future·MMaps</h1> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="code"> | 58 | <div·class="code"> | 
| 59 | <br/> | 59 | <br/> | 
| 60 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyDecidableType"·class="idref"·href="#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<span·class="id"·title="var">D</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>).<br/> | 60 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyDecidableType"·class="idref"·href="#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<span·class="id"·title="var">D</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>).<br/> | 
| Offset 223, 15 lines modified | Offset 223, 15 lines modified | ||
| 223 | <br/> | 223 | <br/> | 
| 224 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>.<br/> | 224 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>.<br/> | 
| 225 | <br/> | 225 | <br/> | 
| 226 | </div> | 226 | </div> | 
| 227 | <div·class="doc"> | 227 | <div·class="doc"> | 
| 228 | <a·id="lab | 228 | <a·id="lab483"></a><h1·class="section">PairDecidableType</h1> | 
| 229 | <div·class="paragraph">·</div> | 229 | <div·class="paragraph">·</div> | 
| 230 | ···From·two·decidable·types,·we·can·build·a·new·DecidableType | 230 | ···From·two·decidable·types,·we·can·build·a·new·DecidableType | 
| 231 | ···over·their·cartesian·product.· | 231 | ···over·their·cartesian·product.· | 
| 232 | </div> | 232 | </div> | 
| Offset 48, 19 lines modified | Offset 48, 19 lines modified | ||
| 48 | <br/> | 48 | <br/> | 
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#"><span·class="id"·title="library">OrdersTac</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#"><span·class="id"·title="library">OrdersTac</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>.<br/> | 
| 50 | <br/> | 50 | <br/> | 
| 51 | </div> | 51 | </div> | 
| 52 | <div·class="doc"> | 52 | <div·class="doc"> | 
| 53 | <a·id="lab4 | 53 | <a·id="lab484"></a><h1·class="section">A·Generic·construction·of·min·and·max</h1> | 
| 54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> | 
| 55 | <a·id="lab48 | 55 | <a·id="lab485"></a><h2·class="section">First,·an·interface·for·types·with·<span·class="inlinecode"><span·class="id"·title="var">max</span></span>·and/or·<span·class="inlinecode"><span·class="id"·title="var">min</span></span></h2> | 
| 56 | </div> | 56 | </div> | 
| 57 | <div·class="code"> | 57 | <div·class="code"> | 
| 58 | <br/> | 58 | <br/> | 
| 59 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasMax"·class="idref"·href="#HasMax"><span·class="id"·title="module">HasMax</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLe'"><span·class="id"·title="module">EqLe'</span></a>).<br/> | 59 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasMax"·class="idref"·href="#HasMax"><span·class="id"·title="module">HasMax</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLe'"><span·class="id"·title="module">EqLe'</span></a>).<br/> | 
| 60 |  <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>·<a·id="HasMax.max"·class="idref"·href="#HasMax.max"><span·class="id"·title="axiom">max</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 60 |  <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>·<a·id="HasMax.max"·class="idref"·href="#HasMax.max"><span·class="id"·title="axiom">max</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 
| Offset 78, 15 lines modified | Offset 78, 15 lines modified | ||
| 78 | <br/> | 78 | <br/> | 
| 79 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasMinMax"·class="idref"·href="#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLe"><span·class="id"·title="module">EqLe</span></a>)·:=·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMax"><span·class="id"·title="module">HasMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMin"><span·class="id"·title="module">HasMin</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 79 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasMinMax"·class="idref"·href="#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLe"><span·class="id"·title="module">EqLe</span></a>)·:=·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMax"><span·class="id"·title="module">HasMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMin"><span·class="id"·title="module">HasMin</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 
| 80 | <br/> | 80 | <br/> | 
| 81 | </div> | 81 | </div> | 
| 82 | <div·class="doc"> | 82 | <div·class="doc"> | 
| 83 | <a·id="lab48 | 83 | <a·id="lab486"></a><h2·class="section">Any·<span·class="inlinecode"><span·class="id"·title="var">OrderedTypeFull</span></span>·can·be·equipped·by·<span·class="inlinecode"><span·class="id"·title="var">max</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">min</span></span></h2> | 
| 84 | ····based·on·the·compare·function.· | 84 | ····based·on·the·compare·function.· | 
| 85 | </div> | 85 | </div> | 
| 86 | <div·class="code"> | 86 | <div·class="code"> | 
| 87 | <br/> | 87 | <br/> | 
| 88 | <span·class="id"·title="keyword">Definition</span>·<a·id="gmax"·class="idref"·href="#gmax"><span·class="id"·title="definition">gmax</span></a>·{<a·id="A:21"·class="idref"·href="#A:21"><span·class="id"·title="binder">A</span></a>}·(<a·id="cmp:22"·class="idref"·href="#cmp:22"><span·class="id"·title="binder">cmp</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#A:21"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Structures.GenericMinMax.html#A:21"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Init.Datatypes.html#comparison"><span·class="id"·title="inductive">comparison</span></a>)·<a·id="x:23"·class="idref"·href="#x:23"><span·class="id"·title="binder">x</span></a>·<a·id="y:24"·class="idref"·href="#y:24"><span·class="id"·title="binder">y</span></a>·:=<br/> | 88 | <span·class="id"·title="keyword">Definition</span>·<a·id="gmax"·class="idref"·href="#gmax"><span·class="id"·title="definition">gmax</span></a>·{<a·id="A:21"·class="idref"·href="#A:21"><span·class="id"·title="binder">A</span></a>}·(<a·id="cmp:22"·class="idref"·href="#cmp:22"><span·class="id"·title="binder">cmp</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#A:21"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Structures.GenericMinMax.html#A:21"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Init.Datatypes.html#comparison"><span·class="id"·title="inductive">comparison</span></a>)·<a·id="x:23"·class="idref"·href="#x:23"><span·class="id"·title="binder">x</span></a>·<a·id="y:24"·class="idref"·href="#y:24"><span·class="id"·title="binder">y</span></a>·:=<br/> | 
| Offset 119, 15 lines modified | Offset 119, 15 lines modified | ||
| 119 | <br/> | 119 | <br/> | 
| 120 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#GenericMinMax"><span·class="id"·title="module">GenericMinMax</span></a>.<br/> | 120 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#GenericMinMax"><span·class="id"·title="module">GenericMinMax</span></a>.<br/> | 
| 121 | <br/> | 121 | <br/> | 
| 122 | </div> | 122 | </div> | 
| 123 | <div·class="doc"> | 123 | <div·class="doc"> | 
| 124 | <a·id="lab48 | 124 | <a·id="lab487"></a><h2·class="section">Consequences·of·the·minimalist·interface:·facts·about·<span·class="inlinecode"><span·class="id"·title="var">max</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">min</span></span>.</h2> | 
| 125 | </div> | 125 | </div> | 
| 126 | <div·class="code"> | 126 | <div·class="code"> | 
| 127 | <br/> | 127 | <br/> | 
| 128 | <span·class="id"·title="keyword">Module</span>·<a·id="MinMaxLogicalProperties"·class="idref"·href="#MinMaxLogicalProperties"><span·class="id"·title="module">MinMaxLogicalProperties</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder'"><span·class="id"·title="module">TotalOrder'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 128 | <span·class="id"·title="keyword">Module</span>·<a·id="MinMaxLogicalProperties"·class="idref"·href="#MinMaxLogicalProperties"><span·class="id"·title="module">MinMaxLogicalProperties</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder'"><span·class="id"·title="module">TotalOrder'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 
| 129 |  <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="MinMaxLogicalProperties.Private_Tac"·class="idref"·href="#MinMaxLogicalProperties.Private_Tac"><span·class="id"·title="module">Private_Tac</span></a>·:=·!<a·class="idref"·href="Coq.Structures.OrdersTac.html#MakeOrderTac"><span·class="id"·title="module">MakeOrderTac</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>.<br/> | 129 |  <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="MinMaxLogicalProperties.Private_Tac"·class="idref"·href="#MinMaxLogicalProperties.Private_Tac"><span·class="id"·title="module">Private_Tac</span></a>·:=·!<a·class="idref"·href="Coq.Structures.OrdersTac.html#MakeOrderTac"><span·class="id"·title="module">MakeOrderTac</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>.<br/> | 
| Offset 197, 15 lines modified | Offset 197, 15 lines modified | ||
| 197 |  <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O.le"><span·class="id"·title="axiom">le</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O.le"><span·class="id"·title="axiom">le</span></a>)·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 197 |  <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O.le"><span·class="id"·title="axiom">le</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O.le"><span·class="id"·title="axiom">le</span></a>)·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 198 |  <span·class="id"·title="keyword">forall</span>·<a·id="x:52"·class="idref"·href="#x:52"><span·class="id"·title="binder">x</span></a>·<a·id="y:53"·class="idref"·href="#y:53"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#x:52"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#y:53"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#y:53"><span·class="id"·title="variable">y</span></a>).<br/> | 198 |  <span·class="id"·title="keyword">forall</span>·<a·id="x:52"·class="idref"·href="#x:52"><span·class="id"·title="binder">x</span></a>·<a·id="y:53"·class="idref"·href="#y:53"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#x:52"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#y:53"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#y:53"><span·class="id"·title="variable">y</span></a>).<br/> | 
| 199 | <br/> | 199 | <br/> | 
| 200 | </div> | 200 | </div> | 
| 201 | <div·class="doc"> | 201 | <div·class="doc"> | 
| 202 | <a·id="lab48 | 202 | <a·id="lab488"></a><h3·class="section">Semi-lattice·algebraic·properties·of·<span·class="inlinecode"><span·class="id"·title="var">max</span></span></h3> | 
| 203 | </div> | 203 | </div> | 
| 204 | <div·class="code"> | 204 | <div·class="code"> | 
| 205 | <br/> | 205 | <br/> | 
| 206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.max_id"·class="idref"·href="#MinMaxLogicalProperties.max_id"><span·class="id"·title="lemma">max_id</span></a>·<a·id="n:54"·class="idref"·href="#n:54"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>.<br/> | 206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.max_id"·class="idref"·href="#MinMaxLogicalProperties.max_id"><span·class="id"·title="lemma">max_id</span></a>·<a·id="n:54"·class="idref"·href="#n:54"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>.<br/> | 
| Offset 224, 15 lines modified | Offset 224, 15 lines modified | ||
| 224 |   <span·class="id"·title="tactic">destruct</span>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxLogicalProperties.max_spec"><span·class="id"·title="lemma">max_spec</span></a>·<span·class="id"·title="var">n</span>·<span·class="id"·title="var">m</span>);·<span·class="id"·title="tactic">intuition</span>;·<span·class="id"·title="var">order</span><br/> | 224 |   <span·class="id"·title="tactic">destruct</span>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxLogicalProperties.max_spec"><span·class="id"·title="lemma">max_spec</span></a>·<span·class="id"·title="var">n</span>·<span·class="id"·title="var">m</span>);·<span·class="id"·title="tactic">intuition</span>;·<span·class="id"·title="var">order</span><br/> | 
| 225 |  <span·class="id"·title="keyword">end</span>.<br/> | 225 |  <span·class="id"·title="keyword">end</span>.<br/> | 
| 226 | <br/> | 226 | <br/> | 
| 227 | </div> | 227 | </div> | 
| 228 | <div·class="doc"> | 228 | <div·class="doc"> | 
| 229 | <a·id="lab48 | 229 | <a·id="lab489"></a><h3·class="section">Least-upper·bound·properties·of·<span·class="inlinecode"><span·class="id"·title="var">max</span></span></h3> | 
| 230 | </div> | 230 | </div> | 
| 231 | <div·class="code"> | 231 | <div·class="code"> | 
| 232 | <br/> | 232 | <br/> | 
| 233 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.le_max_l"·class="idref"·href="#MinMaxLogicalProperties.le_max_l"><span·class="id"·title="lemma">le_max_l</span></a>·<a·id="n:60"·class="idref"·href="#n:60"><span·class="id"·title="binder">n</span></a>·<a·id="m:61"·class="idref"·href="#m:61"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:60"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:60"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:61"><span·class="id"·title="variable">m</span></a>.<br/> | 233 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.le_max_l"·class="idref"·href="#MinMaxLogicalProperties.le_max_l"><span·class="id"·title="lemma">le_max_l</span></a>·<a·id="n:60"·class="idref"·href="#n:60"><span·class="id"·title="binder">n</span></a>·<a·id="m:61"·class="idref"·href="#m:61"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:60"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:60"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:61"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 234 | · | 234 | · | 
| Offset 383, 15 lines modified | Offset 383, 15 lines modified | ||
| 383 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.min_le_compat"·class="idref"·href="#MinMaxLogicalProperties.min_le_compat"><span·class="id"·title="lemma">min_le_compat</span></a>·<a·id="n:167"·class="idref"·href="#n:167"><span·class="id"·title="binder">n</span></a>·<a·id="m:168"·class="idref"·href="#m:168"><span·class="id"·title="binder">m</span></a>·<a·id="p:169"·class="idref"·href="#p:169"><span·class="id"·title="binder">p</span></a>·<a·id="q:170"·class="idref"·href="#q:170"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:167"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:168"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#p:169"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#q:170"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 383 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.min_le_compat"·class="idref"·href="#MinMaxLogicalProperties.min_le_compat"><span·class="id"·title="lemma">min_le_compat</span></a>·<a·id="n:167"·class="idref"·href="#n:167"><span·class="id"·title="binder">n</span></a>·<a·id="m:168"·class="idref"·href="#m:168"><span·class="id"·title="binder">m</span></a>·<a·id="p:169"·class="idref"·href="#p:169"><span·class="id"·title="binder">p</span></a>·<a·id="q:170"·class="idref"·href="#q:170"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:167"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:168"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#p:169"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#q:170"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 384 |  <a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:167"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#p:169"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:168"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#q:170"><span·class="id"·title="variable">q</span></a>.<br/> | 384 |  <a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:167"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#p:169"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:168"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#q:170"><span·class="id"·title="variable">q</span></a>.<br/> | 
| 385 | <br/> | 385 | <br/> | 
| 386 | </div> | 386 | </div> | 
| 387 | <div·class="doc"> | 387 | <div·class="doc"> | 
| 388 | <a·id="lab4 | 388 | <a·id="lab490"></a><h3·class="section">Combined·properties·of·min·and·max</h3> | 
| 389 | </div> | 389 | </div> | 
| 390 | <div·class="code"> | 390 | <div·class="code"> | 
| 391 | <br/> | 391 | <br/> | 
| 392 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.min_max_absorption"·class="idref"·href="#MinMaxLogicalProperties.min_max_absorption"><span·class="id"·title="lemma">min_max_absorption</span></a>·<a·id="n:171"·class="idref"·href="#n:171"><span·class="id"·title="binder">n</span></a>·<a·id="m:172"·class="idref"·href="#m:172"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:172"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>.<br/> | 392 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.min_max_absorption"·class="idref"·href="#MinMaxLogicalProperties.min_max_absorption"><span·class="id"·title="lemma">min_max_absorption</span></a>·<a·id="n:171"·class="idref"·href="#n:171"><span·class="id"·title="binder">n</span></a>·<a·id="m:172"·class="idref"·href="#m:172"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:172"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>.<br/> | 
| Offset 465, 15 lines modified | Offset 465, 15 lines modified | ||
| 465 | <br/> | 465 | <br/> | 
| 466 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxLogicalProperties"><span·class="id"·title="module">MinMaxLogicalProperties</span></a>.<br/> | 466 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxLogicalProperties"><span·class="id"·title="module">MinMaxLogicalProperties</span></a>.<br/> | 
| 467 | <br/> | 467 | <br/> | 
| 468 | </div> | 468 | </div> | 
| 469 | <div·class="doc"> | 469 | <div·class="doc"> | 
| 470 | <a·id="lab4 | 470 | <a·id="lab491"></a><h2·class="section">Properties·requiring·a·decidable·order</h2> | 
| 471 | </div> | 471 | </div> | 
| 472 | <div·class="code"> | 472 | <div·class="code"> | 
| 473 | <br/> | 473 | <br/> | 
| 474 | <span·class="id"·title="keyword">Module</span>·<a·id="MinMaxDecProperties"·class="idref"·href="#MinMaxDecProperties"><span·class="id"·title="module">MinMaxDecProperties</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 474 | <span·class="id"·title="keyword">Module</span>·<a·id="MinMaxDecProperties"·class="idref"·href="#MinMaxDecProperties"><span·class="id"·title="module">MinMaxDecProperties</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 
| Offset 545, 15 lines modified | Offset 545, 15 lines modified | ||
| 545 |  <span·class="id"·title="keyword">Notation</span>·<a·id="MinMaxProperties.min_max_antimonotone"·class="idref"·href="#MinMaxProperties.min_max_antimonotone"><span·class="id"·title="abbreviation">min_max_antimonotone</span></a>·:=·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties.min_max_antimono"><span·class="id"·title="lemma">min_max_antimono</span></a>.<br/> | 545 |  <span·class="id"·title="keyword">Notation</span>·<a·id="MinMaxProperties.min_max_antimonotone"·class="idref"·href="#MinMaxProperties.min_max_antimonotone"><span·class="id"·title="abbreviation">min_max_antimonotone</span></a>·:=·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties.min_max_antimono"><span·class="id"·title="lemma">min_max_antimono</span></a>.<br/> | 
| 546 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties"><span·class="id"·title="module">MinMaxProperties</span></a>.<br/> | 546 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties"><span·class="id"·title="module">MinMaxProperties</span></a>.<br/> | 
| 547 | <br/> | 547 | <br/> | 
| 548 | </div> | 548 | </div> | 
| 549 | <div·class="doc"> | 549 | <div·class="doc"> | 
| 550 | <a·id="lab4 | 550 | <a·id="lab492"></a><h2·class="section">When·the·equality·is·Leibniz,·we·can·skip·a·few·<span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·precondition.</h2> | 
| 551 | </div> | 551 | </div> | 
| 552 | <div·class="code"> | 552 | <div·class="code"> | 
| Max diff block lines reached; 760/19494 bytes (3.90%) of diff not shown. | |||
| Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="doc"> | 54 | <div·class="doc"> | 
| 55 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of | 55 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of | 
| 56 | ·····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Orders.v</span></span>·directly·now.· | 56 | ·····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Orders.v</span></span>·directly·now.· | 
| 57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> | 
| 58 | <a·id="lab4 | 58 | <a·id="lab460"></a><h1·class="section">Ordered·types</h1> | 
| 59 | </div> | 59 | </div> | 
| 60 | <div·class="code"> | 60 | <div·class="code"> | 
| 61 | <br/> | 61 | <br/> | 
| 62 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Compare"·class="idref"·href="#Compare"><span·class="id"·title="definition,·inductive"><span·id="Compare_rect"·class="id"><span·id="Compare_ind"·class="id"><span·id="Compare_rec"·class="id"><span·id="Compare_sind"·class="id">Compare</span></span></span></span></span></a>·(<a·id="X:1"·class="idref"·href="#X:1"><span·class="id"·title="binder">X</span></a>·:·<span·class="id"·title="keyword">Type</span>)·(<a·id="lt:2"·class="idref"·href="#lt:2"><span·class="id"·title="binder">lt</span></a>·<a·id="eq:3"·class="idref"·href="#eq:3"><span·class="id"·title="binder">eq</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="x:4"·class="idref"·href="#x:4"><span·class="id"·title="binder">x</span></a>·<a·id="y:5"·class="idref"·href="#y:5"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 62 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Compare"·class="idref"·href="#Compare"><span·class="id"·title="definition,·inductive"><span·id="Compare_rect"·class="id"><span·id="Compare_ind"·class="id"><span·id="Compare_rec"·class="id"><span·id="Compare_sind"·class="id">Compare</span></span></span></span></span></a>·(<a·id="X:1"·class="idref"·href="#X:1"><span·class="id"·title="binder">X</span></a>·:·<span·class="id"·title="keyword">Type</span>)·(<a·id="lt:2"·class="idref"·href="#lt:2"><span·class="id"·title="binder">lt</span></a>·<a·id="eq:3"·class="idref"·href="#eq:3"><span·class="id"·title="binder">eq</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="x:4"·class="idref"·href="#x:4"><span·class="id"·title="binder">x</span></a>·<a·id="y:5"·class="idref"·href="#y:5"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 
| 63 |   |·<a·id="LT"·class="idref"·href="#LT"><span·class="id"·title="constructor">LT</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#lt:2"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#x:4"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#y:5"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#Compare:6"><span·class="id"·title="inductive">Compare</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#lt:2"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#eq:3"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#x:4"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#y:5"><span·class="id"·title="variable">y</span></a><br/> | 63 |   |·<a·id="LT"·class="idref"·href="#LT"><span·class="id"·title="constructor">LT</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#lt:2"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#x:4"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#y:5"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#Compare:6"><span·class="id"·title="inductive">Compare</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#lt:2"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#eq:3"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#x:4"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#y:5"><span·class="id"·title="variable">y</span></a><br/> | 
| Offset 134, 15 lines modified | Offset 134, 15 lines modified | ||
| 134 | <br/> | 134 | <br/> | 
| 135 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#MOT_to_OT"><span·class="id"·title="module">MOT_to_OT</span></a>.<br/> | 135 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#MOT_to_OT"><span·class="id"·title="module">MOT_to_OT</span></a>.<br/> | 
| 136 | <br/> | 136 | <br/> | 
| 137 | </div> | 137 | </div> | 
| 138 | <div·class="doc"> | 138 | <div·class="doc"> | 
| 139 | <a·id="lab4 | 139 | <a·id="lab461"></a><h1·class="section">Ordered·types·properties</h1> | 
| 140 | <div·class="paragraph">·</div> | 140 | <div·class="paragraph">·</div> | 
| 141 | ·Additional·properties·that·can·be·derived·from·signature | 141 | ·Additional·properties·that·can·be·derived·from·signature | 
| 142 | ····<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>.· | 142 | ····<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>.· | 
| 143 | </div> | 143 | </div> | 
| 144 | <div·class="code"> | 144 | <div·class="code"> | 
| Offset 46, 15 lines modified | Offset 46, 15 lines modified | ||
| 46 | <div·class="code"> | 46 | <div·class="code"> | 
| 47 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>.<br/> | 47 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>.<br/> | 
| 48 | <br/> | 48 | <br/> | 
| 49 | </div> | 49 | </div> | 
| 50 | <div·class="doc"> | 50 | <div·class="doc"> | 
| 51 | <a·id="lab4 | 51 | <a·id="lab444"></a><h1·class="section">An·alternative·(but·equivalent)·presentation·for·an·Ordered·Type</h1> | 
| 52 | ···inferface.· | 52 | ···inferface.· | 
| 53 | <div·class="paragraph">·</div> | 53 | <div·class="paragraph">·</div> | 
| 54 | ·NB:·<span·class="inlinecode"><span·class="id"·title="var">comparison</span></span>,·defined·in·<span·class="inlinecode"><span·class="id"·title="var">Datatypes.v</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">Eq</span>|<span·class="id"·title="var">Lt</span>|<span·class="id"·title="var">Gt</span></span> | 54 | ·NB:·<span·class="inlinecode"><span·class="id"·title="var">comparison</span></span>,·defined·in·<span·class="inlinecode"><span·class="id"·title="var">Datatypes.v</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">Eq</span>|<span·class="id"·title="var">Lt</span>|<span·class="id"·title="var">Gt</span></span> | 
| 55 | whereas·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>,·defined·in·<span·class="inlinecode"><span·class="id"·title="var">OrderedType.v</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">EQ</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode"><span·class="id"·title="var">LT</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode"><span·class="id"·title="var">GT</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode"></span> | 55 | whereas·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>,·defined·in·<span·class="inlinecode"><span·class="id"·title="var">OrderedType.v</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">EQ</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode"><span·class="id"·title="var">LT</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode"><span·class="id"·title="var">GT</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode"></span> | 
| Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
| 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.NArith.NArith.html#"><span·class="id"·title="library">NArith</span></a>·<a·class="idref"·href="Coq.NArith.Ndec.html#"><span·class="id"·title="library">Ndec</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.NArith.NArith.html#"><span·class="id"·title="library">NArith</span></a>·<a·class="idref"·href="Coq.NArith.Ndec.html#"><span·class="id"·title="library">Ndec</span></a>.<br/> | 
| 54 | <br/> | 54 | <br/> | 
| 55 | </div> | 55 | </div> | 
| 56 | <div·class="doc"> | 56 | <div·class="doc"> | 
| 57 | <a·id="lab4 | 57 | <a·id="lab471"></a><h1·class="section">Examples·of·Ordered·Type·structures.</h1> | 
| 58 | <div·class="paragraph">·</div> | 58 | <div·class="paragraph">·</div> | 
| 59 | ·First,·a·particular·case·of·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·where | 59 | ·First,·a·particular·case·of·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·where | 
| 60 | ····the·equality·is·the·usual·one·of·Coq.· | 60 | ····the·equality·is·the·usual·one·of·Coq.· | 
| 61 | </div> | 61 | </div> | 
| 62 | <div·class="code"> | 62 | <div·class="code"> | 
| Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Relations.Relations.html#"><span·class="id"·title="library">Relations</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Relations.Relations.html#"><span·class="id"·title="library">Relations</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>.<br/> | 
| 50 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 50 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 51 | <br/> | 51 | <br/> | 
| 52 | </div> | 52 | </div> | 
| 53 | <div·class="doc"> | 53 | <div·class="doc"> | 
| 54 | <a·id="lab4 | 54 | <a·id="lab445"></a><h1·class="section">Ordered·types</h1> | 
| 55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> | 
| 56 | ·First,·signatures·with·only·the·order·relations· | 56 | ·First,·signatures·with·only·the·order·relations· | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="code"> | 58 | <div·class="code"> | 
| Offset 184, 15 lines modified | Offset 184, 15 lines modified | ||
| 184 | <div·class="doc"> | 184 | <div·class="doc"> | 
| 185 | NB:·in·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>,·an·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>·could·be·deduced·from·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>. | 185 | NB:·in·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>,·an·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>·could·be·deduced·from·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>. | 
| 186 | ··But·adding·this·redundant·field·allows·seeing·an·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·as·a | 186 | ··But·adding·this·redundant·field·allows·seeing·an·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·as·a | 
| 187 | ··<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>.· | 187 | ··<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>.· | 
| 188 | <div·class="paragraph">·</div> | 188 | <div·class="paragraph">·</div> | 
| 189 | <a·id="lab4 | 189 | <a·id="lab446"></a><h1·class="section">Versions·with·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>·being·the·usual·Leibniz·equality·of·Coq</h1> | 
| 190 | </div> | 190 | </div> | 
| 191 | <div·class="code"> | 191 | <div·class="code"> | 
| 192 | <br/> | 192 | <br/> | 
| 193 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualStrOrder"·class="idref"·href="#UsualStrOrder"><span·class="id"·title="module">UsualStrOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualEqualityType"><span·class="id"·title="module">UsualEqualityType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasLt"><span·class="id"·title="module">HasLt</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#IsStrOrder"><span·class="id"·title="module">IsStrOrder</span></a>.<br/> | 193 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualStrOrder"·class="idref"·href="#UsualStrOrder"><span·class="id"·title="module">UsualStrOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualEqualityType"><span·class="id"·title="module">UsualEqualityType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasLt"><span·class="id"·title="module">HasLt</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#IsStrOrder"><span·class="id"·title="module">IsStrOrder</span></a>.<br/> | 
| 194 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualDecStrOrder"·class="idref"·href="#UsualDecStrOrder"><span·class="id"·title="module">UsualDecStrOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualStrOrder"><span·class="id"·title="module">UsualStrOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasCompare"><span·class="id"·title="module">HasCompare</span></a>.<br/> | 194 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualDecStrOrder"·class="idref"·href="#UsualDecStrOrder"><span·class="id"·title="module">UsualDecStrOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualStrOrder"><span·class="id"·title="module">UsualStrOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasCompare"><span·class="id"·title="module">HasCompare</span></a>.<br/> | 
| Offset 216, 15 lines modified | Offset 216, 15 lines modified | ||
| 216 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualOrderedType'"·class="idref"·href="#UsualOrderedType'"><span·class="id"·title="module">UsualOrderedType'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualOrderedType"><span·class="id"·title="module">UsualOrderedType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation"><span·class="id"·title="module">LtNotation</span></a>.<br/> | 216 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualOrderedType'"·class="idref"·href="#UsualOrderedType'"><span·class="id"·title="module">UsualOrderedType'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualOrderedType"><span·class="id"·title="module">UsualOrderedType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation"><span·class="id"·title="module">LtNotation</span></a>.<br/> | 
| 217 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualOrderedTypeFull'"·class="idref"·href="#UsualOrderedTypeFull'"><span·class="id"·title="module">UsualOrderedTypeFull'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualOrderedTypeFull"><span·class="id"·title="module">UsualOrderedTypeFull</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtLeNotation"><span·class="id"·title="module">LtLeNotation</span></a>.<br/> | 217 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualOrderedTypeFull'"·class="idref"·href="#UsualOrderedTypeFull'"><span·class="id"·title="module">UsualOrderedTypeFull'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualOrderedTypeFull"><span·class="id"·title="module">UsualOrderedTypeFull</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtLeNotation"><span·class="id"·title="module">LtLeNotation</span></a>.<br/> | 
| 218 | <br/> | 218 | <br/> | 
| 219 | </div> | 219 | </div> | 
| 220 | <div·class="doc"> | 220 | <div·class="doc"> | 
| 221 | <a·id="lab4 | 221 | <a·id="lab447"></a><h1·class="section">Purely·logical·versions</h1> | 
| 222 | </div> | 222 | </div> | 
| 223 | <div·class="code"> | 223 | <div·class="code"> | 
| 224 | <br/> | 224 | <br/> | 
| 225 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="LtIsTotal"·class="idref"·href="#LtIsTotal"><span·class="id"·title="module">LtIsTotal</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLt'"><span·class="id"·title="module">EqLt'</span></a>).<br/> | 225 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="LtIsTotal"·class="idref"·href="#LtIsTotal"><span·class="id"·title="module">LtIsTotal</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLt'"><span·class="id"·title="module">EqLt'</span></a>).<br/> | 
| 226 |   <span·class="id"·title="keyword">Axiom</span>·<a·id="LtIsTotal.lt_total"·class="idref"·href="#LtIsTotal.lt_total"><span·class="id"·title="axiom">lt_total</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:15"·class="idref"·href="#x:15"><span·class="id"·title="binder">x</span></a>·<a·id="y:16"·class="idref"·href="#y:16"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</span></a>.<br/> | 226 |   <span·class="id"·title="keyword">Axiom</span>·<a·id="LtIsTotal.lt_total"·class="idref"·href="#LtIsTotal.lt_total"><span·class="id"·title="axiom">lt_total</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:15"·class="idref"·href="#x:15"><span·class="id"·title="binder">x</span></a>·<a·id="y:16"·class="idref"·href="#y:16"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</span></a>.<br/> | 
| Offset 239, 15 lines modified | Offset 239, 15 lines modified | ||
| 239 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="TotalOrder'"·class="idref"·href="#TotalOrder'"><span·class="id"·title="module">TotalOrder'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLeNotation"><span·class="id"·title="module">EqLtLeNotation</span></a>.<br/> | 239 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="TotalOrder'"·class="idref"·href="#TotalOrder'"><span·class="id"·title="module">TotalOrder'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLeNotation"><span·class="id"·title="module">EqLtLeNotation</span></a>.<br/> | 
| 240 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualTotalOrder'"·class="idref"·href="#UsualTotalOrder'"><span·class="id"·title="module">UsualTotalOrder'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualTotalOrder"><span·class="id"·title="module">UsualTotalOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtLeNotation"><span·class="id"·title="module">LtLeNotation</span></a>.<br/> | 240 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualTotalOrder'"·class="idref"·href="#UsualTotalOrder'"><span·class="id"·title="module">UsualTotalOrder'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualTotalOrder"><span·class="id"·title="module">UsualTotalOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtLeNotation"><span·class="id"·title="module">LtLeNotation</span></a>.<br/> | 
| 241 | <br/> | 241 | <br/> | 
| 242 | </div> | 242 | </div> | 
| 243 | <div·class="doc"> | 243 | <div·class="doc"> | 
| 244 | <a·id="lab4 | 244 | <a·id="lab448"></a><h1·class="section">Conversions</h1> | 
| 245 | <div·class="paragraph">·</div> | 245 | <div·class="paragraph">·</div> | 
| 246 | ·From·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">eqb</span></span>,·and·then·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>· | 246 | ·From·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">eqb</span></span>,·and·then·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>· | 
| 247 | </div> | 247 | </div> | 
| 248 | <div·class="code"> | 248 | <div·class="code"> | 
| Offset 300, 15 lines modified | Offset 300, 15 lines modified | ||
| 300 | <span·class="id"·title="keyword">Module</span>·<a·id="OTF_to_TotalOrder"·class="idref"·href="#OTF_to_TotalOrder"><span·class="id"·title="module">OTF_to_TotalOrder</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a><br/> | 300 | <span·class="id"·title="keyword">Module</span>·<a·id="OTF_to_TotalOrder"·class="idref"·href="#OTF_to_TotalOrder"><span·class="id"·title="module">OTF_to_TotalOrder</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a><br/> | 
| 301 |  :=·<a·class="idref"·href="Coq.Structures.Orders.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#OTF_LtIsTotal"><span·class="id"·title="module">OTF_LtIsTotal</span></a>.<br/> | 301 |  :=·<a·class="idref"·href="Coq.Structures.Orders.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#OTF_LtIsTotal"><span·class="id"·title="module">OTF_LtIsTotal</span></a>.<br/> | 
| 302 | <br/> | 302 | <br/> | 
| 303 | </div> | 303 | </div> | 
| 304 | <div·class="doc"> | 304 | <div·class="doc"> | 
| 305 | <a·id="lab4 | 305 | <a·id="lab449"></a><h1·class="section">Versions·with·boolean·comparisons</h1> | 
| 306 | <div·class="paragraph">·</div> | 306 | <div·class="paragraph">·</div> | 
| 307 | ····This·style·is·used·in·<span·class="inlinecode"><span·class="id"·title="var">Mergesort</span></span> | 307 | ····This·style·is·used·in·<span·class="inlinecode"><span·class="id"·title="var">Mergesort</span></span> | 
| 308 | <div·class="paragraph">·</div> | 308 | <div·class="paragraph">·</div> | 
| Offset 402, 15 lines modified | Offset 402, 15 lines modified | ||
| 402 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderFunctions'"·class="idref"·href="#OrderFunctions'"><span·class="id"·title="module">OrderFunctions'</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)·:=<br/> | 402 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderFunctions'"·class="idref"·href="#OrderFunctions'"><span·class="id"·title="module">OrderFunctions'</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)·:=<br/> | 
| 403 |   <a·class="idref"·href="Coq.Structures.Orders.html#HasCompare"><span·class="id"·title="module">HasCompare</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#CmpNotation"><span·class="id"·title="module">CmpNotation</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasBoolOrdFuns'"><span·class="id"·title="module">HasBoolOrdFuns'</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#BoolOrdSpecs"><span·class="id"·title="module">BoolOrdSpecs</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 403 |   <a·class="idref"·href="Coq.Structures.Orders.html#HasCompare"><span·class="id"·title="module">HasCompare</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#CmpNotation"><span·class="id"·title="module">CmpNotation</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasBoolOrdFuns'"><span·class="id"·title="module">HasBoolOrdFuns'</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#BoolOrdSpecs"><span·class="id"·title="module">BoolOrdSpecs</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 
| 404 | <br/> | 404 | <br/> | 
| 405 | </div> | 405 | </div> | 
| 406 | <div·class="doc"> | 406 | <div·class="doc"> | 
| 407 | <a·id="lab4 | 407 | <a·id="lab450"></a><h1·class="section">From·<span·class="inlinecode"><span·class="id"·title="var">OrderedTypeFull</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">TotalTransitiveLeBool</span></span></h1> | 
| 408 | </div> | 408 | </div> | 
| 409 | <div·class="code"> | 409 | <div·class="code"> | 
| 410 | <br/> | 410 | <br/> | 
| 411 | <span·class="id"·title="keyword">Module</span>·<a·id="OTF_to_TTLB"·class="idref"·href="#OTF_to_TTLB"><span·class="id"·title="module">OTF_to_TTLB</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>·:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalTransitiveLeBool"><span·class="id"·title="module">TotalTransitiveLeBool</span></a>.<br/> | 411 | <span·class="id"·title="keyword">Module</span>·<a·id="OTF_to_TTLB"·class="idref"·href="#OTF_to_TTLB"><span·class="id"·title="module">OTF_to_TTLB</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>·:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalTransitiveLeBool"><span·class="id"·title="module">TotalTransitiveLeBool</span></a>.<br/> | 
| Offset 433, 15 lines modified | Offset 433, 15 lines modified | ||
| 433 | <br/> | 433 | <br/> | 
| 434 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Orders.html#OTF_to_TTLB"><span·class="id"·title="module">OTF_to_TTLB</span></a>.<br/> | 434 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Orders.html#OTF_to_TTLB"><span·class="id"·title="module">OTF_to_TTLB</span></a>.<br/> | 
| 435 | <br/> | 435 | <br/> | 
| 436 | </div> | 436 | </div> | 
| 437 | <div·class="doc"> | 437 | <div·class="doc"> | 
| 438 | <a·id="lab4 | 438 | <a·id="lab451"></a><h1·class="section">From·<span·class="inlinecode"><span·class="id"·title="var">TotalTransitiveLeBool</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">OrderedTypeFull</span></span></h1> | 
| 439 | <div·class="paragraph">·</div> | 439 | <div·class="paragraph">·</div> | 
| 440 | ····<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">leb</span></span>·<span·class="inlinecode">...</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>. | 440 | ····<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">leb</span></span>·<span·class="inlinecode">...</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>. | 
| 441 | ····<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode"><span·class="id"·title="var">swap</span></span>·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>. | 441 | ····<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode"><span·class="id"·title="var">swap</span></span>·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>. | 
| 442 | ····<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">~<span·class="id"·title="var">swap</span></span>·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>. | 442 | ····<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">~<span·class="id"·title="var">swap</span></span>·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>. | 
| Offset 51, 32 lines modified | Offset 51, 32 lines modified | ||
| 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>.<br/> | 
| 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab454"></a><h1·class="section">Some·alternative·(but·equivalent)·presentations·for·an·Ordered·Type</h1> | 
| 57 | ···inferface.· | 57 | ···inferface.· | 
| 58 | <div·class="paragraph">·</div> | 58 | <div·class="paragraph">·</div> | 
| 59 | <a·id="lab | 59 | <a·id="lab455"></a><h2·class="section">The·original·interface</h2> | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="code"> | 61 | <div·class="code"> | 
| 62 | <br/> | 62 | <br/> | 
| 63 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderedTypeOrig"·class="idref"·href="#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType.OrderedType</span></a>.<br/> | 63 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderedTypeOrig"·class="idref"·href="#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType.OrderedType</span></a>.<br/> | 
| 64 | <br/> | 64 | <br/> | 
| 65 | </div> | 65 | </div> | 
| 66 | <div·class="doc"> | 66 | <div·class="doc"> | 
| 67 | <a·id="lab | 67 | <a·id="lab456"></a><h2·class="section">An·interface·based·on·compare</h2> | 
| 68 | </div> | 68 | </div> | 
| 69 | <div·class="code"> | 69 | <div·class="code"> | 
| 70 | <br/> | 70 | <br/> | 
| 71 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderedTypeAlt"·class="idref"·href="#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</span></a>.<br/> | 71 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderedTypeAlt"·class="idref"·href="#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</span></a>.<br/> | 
| Offset 98, 15 lines modified | Offset 98, 15 lines modified | ||
| 98 | <br/> | 98 | <br/> | 
| 99 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</span></a>.<br/> | 99 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</span></a>.<br/> | 
| 100 | <br/> | 100 | <br/> | 
| 101 | </div> | 101 | </div> | 
| 102 | <div·class="doc"> | 102 | <div·class="doc"> | 
| 103 | <a·id="lab | 103 | <a·id="lab457"></a><h2·class="section">From·OrderedTypeOrig·to·OrderedType.</h2> | 
| 104 | </div> | 104 | </div> | 
| 105 | <div·class="code"> | 105 | <div·class="code"> | 
| 106 | <br/> | 106 | <br/> | 
| 107 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_OT"·class="idref"·href="#Update_OT"><span·class="id"·title="module">Update_OT</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>.<br/> | 107 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_OT"·class="idref"·href="#Update_OT"><span·class="id"·title="module">Update_OT</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>.<br/> | 
| Offset 137, 15 lines modified | Offset 137, 15 lines modified | ||
| 137 | <br/> | 137 | <br/> | 
| 138 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#Update_OT"><span·class="id"·title="module">Update_OT</span></a>.<br/> | 138 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#Update_OT"><span·class="id"·title="module">Update_OT</span></a>.<br/> | 
| 139 | <br/> | 139 | <br/> | 
| 140 | </div> | 140 | </div> | 
| 141 | <div·class="doc"> | 141 | <div·class="doc"> | 
| 142 | <a·id="lab | 142 | <a·id="lab458"></a><h2·class="section">From·OrderedType·to·OrderedTypeOrig.</h2> | 
| 143 | </div> | 143 | </div> | 
| 144 | <div·class="code"> | 144 | <div·class="code"> | 
| 145 | <br/> | 145 | <br/> | 
| 146 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_OT"·class="idref"·href="#Backport_OT"><span·class="id"·title="module">Backport_OT</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>)·<:·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>.<br/> | 146 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_OT"·class="idref"·href="#Backport_OT"><span·class="id"·title="module">Backport_OT</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>)·<:·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>.<br/> | 
| Offset 166, 15 lines modified | Offset 166, 15 lines modified | ||
| 166 | <br/> | 166 | <br/> | 
| 167 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#Backport_OT"><span·class="id"·title="module">Backport_OT</span></a>.<br/> | 167 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#Backport_OT"><span·class="id"·title="module">Backport_OT</span></a>.<br/> | 
| 168 | <br/> | 168 | <br/> | 
| 169 | </div> | 169 | </div> | 
| 170 | <div·class="doc"> | 170 | <div·class="doc"> | 
| 171 | <a·id="lab | 171 | <a·id="lab459"></a><h2·class="section">From·OrderedTypeAlt·to·OrderedType.</h2> | 
| 172 | </div> | 172 | </div> | 
| 173 | <div·class="code"> | 173 | <div·class="code"> | 
| 174 | <br/> | 174 | <br/> | 
| 175 | <span·class="id"·title="keyword">Module</span>·<a·id="OT_from_Alt"·class="idref"·href="#OT_from_Alt"><span·class="id"·title="module">OT_from_Alt</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>.<br/> | 175 | <span·class="id"·title="keyword">Module</span>·<a·id="OT_from_Alt"·class="idref"·href="#OT_from_Alt"><span·class="id"·title="module">OT_from_Alt</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>.<br/> | 
| Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
| 52 |  <a·class="idref"·href="Coq.Classes.RelationPairs.html#"><span·class="id"·title="library">RelationPairs</span></a>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#"><span·class="id"·title="library">EqualitiesFacts</span></a>.<br/> | 52 |  <a·class="idref"·href="Coq.Classes.RelationPairs.html#"><span·class="id"·title="library">RelationPairs</span></a>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#"><span·class="id"·title="library">EqualitiesFacts</span></a>.<br/> | 
| 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 
| 54 | <br/> | 54 | <br/> | 
| 55 | </div> | 55 | </div> | 
| 56 | <div·class="doc"> | 56 | <div·class="doc"> | 
| 57 | <a·id="lab | 57 | <a·id="lab443"></a><h1·class="section">Examples·of·Ordered·Type·structures.</h1> | 
| 58 | <div·class="paragraph">·</div> | 58 | <div·class="paragraph">·</div> | 
| 59 | ·Ordered·Type·for·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">ascii</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">string</span></span>·with·the·usual·or·lexicographic·order.· | 59 | ·Ordered·Type·for·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">ascii</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">string</span></span>·with·the·usual·or·lexicographic·order.· | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="code"> | 61 | <div·class="code"> | 
| Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
| 52 | <br/> | 52 | <br/> | 
| 53 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 53 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 54 | <br/> | 54 | <br/> | 
| 55 | </div> | 55 | </div> | 
| 56 | <div·class="doc"> | 56 | <div·class="doc"> | 
| 57 | <a·id="lab | 57 | <a·id="lab473"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span></h1> | 
| 58 | </div> | 58 | </div> | 
| 59 | <div·class="code"> | 59 | <div·class="code"> | 
| 60 | <br/> | 60 | <br/> | 
| 61 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="CompareFacts"·class="idref"·href="#CompareFacts"><span·class="id"·title="module">CompareFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#DecStrOrder'"><span·class="id"·title="module">DecStrOrder'</span></a>).<br/> | 61 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="CompareFacts"·class="idref"·href="#CompareFacts"><span·class="id"·title="module">CompareFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#DecStrOrder'"><span·class="id"·title="module">DecStrOrder'</span></a>).<br/> | 
| Offset 101, 15 lines modified | Offset 101, 15 lines modified | ||
| 101 | <br/> | 101 | <br/> | 
| 102 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#CompareFacts"><span·class="id"·title="module">CompareFacts</span></a>.<br/> | 102 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#CompareFacts"><span·class="id"·title="module">CompareFacts</span></a>.<br/> | 
| 103 | <br/> | 103 | <br/> | 
| 104 | </div> | 104 | </div> | 
| 105 | <div·class="doc"> | 105 | <div·class="doc"> | 
| 106 | <a·id="lab | 106 | <a·id="lab474"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">OrderedTypeFull</span></span></h1> | 
| 107 | </div> | 107 | </div> | 
| 108 | <div·class="code"> | 108 | <div·class="code"> | 
| 109 | <br/> | 109 | <br/> | 
| 110 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeFullFacts"·class="idref"·href="#OrderedTypeFullFacts"><span·class="id"·title="module">OrderedTypeFullFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>).<br/> | 110 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeFullFacts"·class="idref"·href="#OrderedTypeFullFacts"><span·class="id"·title="module">OrderedTypeFullFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>).<br/> | 
| Offset 161, 15 lines modified | Offset 161, 15 lines modified | ||
| 161 | <br/> | 161 | <br/> | 
| 162 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeFullFacts"><span·class="id"·title="module">OrderedTypeFullFacts</span></a>.<br/> | 162 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeFullFacts"><span·class="id"·title="module">OrderedTypeFullFacts</span></a>.<br/> | 
| 163 | <br/> | 163 | <br/> | 
| 164 | </div> | 164 | </div> | 
| 165 | <div·class="doc"> | 165 | <div·class="doc"> | 
| 166 | <a·id="lab | 166 | <a·id="lab475"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span></h1> | 
| 167 | </div> | 167 | </div> | 
| 168 | <div·class="code"> | 168 | <div·class="code"> | 
| 169 | <br/> | 169 | <br/> | 
| 170 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeFacts"·class="idref"·href="#OrderedTypeFacts"><span·class="id"·title="module">OrderedTypeFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType'"><span·class="id"·title="module">OrderedType'</span></a>).<br/> | 170 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeFacts"·class="idref"·href="#OrderedTypeFacts"><span·class="id"·title="module">OrderedTypeFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType'"><span·class="id"·title="module">OrderedType'</span></a>).<br/> | 
| Offset 256, 15 lines modified | Offset 256, 15 lines modified | ||
| 256 | <br/> | 256 | <br/> | 
| 257 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeFacts"><span·class="id"·title="module">OrderedTypeFacts</span></a>.<br/> | 257 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeFacts"><span·class="id"·title="module">OrderedTypeFacts</span></a>.<br/> | 
| 258 | <br/> | 258 | <br/> | 
| 259 | </div> | 259 | </div> | 
| 260 | <div·class="doc"> | 260 | <div·class="doc"> | 
| 261 | <a·id="lab | 261 | <a·id="lab476"></a><h1·class="section">Tests·of·the·order·tactic</h1> | 
| 262 | <div·class="paragraph">·</div> | 262 | <div·class="paragraph">·</div> | 
| 263 | ····Is·it·at·least·capable·of·proving·some·basic·properties·?· | 263 | ····Is·it·at·least·capable·of·proving·some·basic·properties·?· | 
| 264 | </div> | 264 | </div> | 
| 265 | <div·class="code"> | 265 | <div·class="code"> | 
| Offset 294, 15 lines modified | Offset 294, 15 lines modified | ||
| 294 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="OrderedTypeTest.eq_is_nlt_ngt"·class="idref"·href="#OrderedTypeTest.eq_is_nlt_ngt"><span·class="id"·title="lemma">eq_is_nlt_ngt</span></a>·<a·id="x:96"·class="idref"·href="#x:96"><span·class="id"·title="binder">x</span></a>·<a·id="y:97"·class="idref"·href="#y:97"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#y:97"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#y:97"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#y:97"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</span></a>.<br/> | 294 |   <span·class="id"·title="keyword">Lemma</span>·<a·id="OrderedTypeTest.eq_is_nlt_ngt"·class="idref"·href="#OrderedTypeTest.eq_is_nlt_ngt"><span·class="id"·title="lemma">eq_is_nlt_ngt</span></a>·<a·id="x:96"·class="idref"·href="#x:96"><span·class="id"·title="binder">x</span></a>·<a·id="y:97"·class="idref"·href="#y:97"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#y:97"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#y:97"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#y:97"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 295 | ·<span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeTest"><span·class="id"·title="module">OrderedTypeTest</span></a>.<br/> | 295 | ·<span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeTest"><span·class="id"·title="module">OrderedTypeTest</span></a>.<br/> | 
| 296 | <br/> | 296 | <br/> | 
| 297 | </div> | 297 | </div> | 
| 298 | <div·class="doc"> | 298 | <div·class="doc"> | 
| 299 | <a·id="lab | 299 | <a·id="lab477"></a><h1·class="section">Reversed·OrderedTypeFull.</h1> | 
| 300 | <div·class="paragraph">·</div> | 300 | <div·class="paragraph">·</div> | 
| 301 | ···we·can·switch·the·orientation·of·the·order.·This·is·used·for | 301 | ···we·can·switch·the·orientation·of·the·order.·This·is·used·for | 
| 302 | ···example·when·deriving·properties·of·<span·class="inlinecode"><span·class="id"·title="var">min</span></span>·out·of·the·ones·of·<span·class="inlinecode"><span·class="id"·title="var">max</span></span> | 302 | ···example·when·deriving·properties·of·<span·class="inlinecode"><span·class="id"·title="var">min</span></span>·out·of·the·ones·of·<span·class="inlinecode"><span·class="id"·title="var">max</span></span> | 
| 303 | ···(see·<span·class="inlinecode"><span·class="id"·title="var">GenericMinMax</span></span>). | 303 | ···(see·<span·class="inlinecode"><span·class="id"·title="var">GenericMinMax</span></span>). | 
| Offset 345, 15 lines modified | Offset 345, 15 lines modified | ||
| 345 | <br/> | 345 | <br/> | 
| 346 | <span·class="id"·title="keyword">Unset·Implicit·Arguments</span>.<br/> | 346 | <span·class="id"·title="keyword">Unset·Implicit·Arguments</span>.<br/> | 
| 347 | <br/> | 347 | <br/> | 
| 348 | </div> | 348 | </div> | 
| 349 | <div·class="doc"> | 349 | <div·class="doc"> | 
| 350 | <a·id="lab | 350 | <a·id="lab478"></a><h1·class="section">Order·relations·derived·from·a·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>·function.</h1> | 
| 351 | <div·class="paragraph">·</div> | 351 | <div·class="paragraph">·</div> | 
| 352 | ··We·factorize·here·some·common·properties·for·ZArith,·NArith | 352 | ··We·factorize·here·some·common·properties·for·ZArith,·NArith | 
| 353 | ··and·co,·where·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·are·defined·in·terms·of·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>. | 353 | ··and·co,·where·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·are·defined·in·terms·of·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>. | 
| 354 | ··Note·that·we·do·not·require·anything·here·concerning·compatibility | 354 | ··Note·that·we·do·not·require·anything·here·concerning·compatibility | 
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <br/> | 51 | <br/> | 
| 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab4 | 56 | <a·id="lab452"></a><h1·class="section">Specialization·of·results·about·lists·modulo.</h1> | 
| 57 | </div> | 57 | </div> | 
| 58 | <div·class="code"> | 58 | <div·class="code"> | 
| 59 | <br/> | 59 | <br/> | 
| 60 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeLists"·class="idref"·href="#OrderedTypeLists"><span·class="id"·title="module">OrderedTypeLists</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>).<br/> | 60 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeLists"·class="idref"·href="#OrderedTypeLists"><span·class="id"·title="module">OrderedTypeLists</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>).<br/> | 
| Offset 106, 15 lines modified | Offset 106, 15 lines modified | ||
| 106 | <br/> | 106 | <br/> | 
| 107 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersLists.html#OrderedTypeLists"><span·class="id"·title="module">OrderedTypeLists</span></a>.<br/> | 107 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersLists.html#OrderedTypeLists"><span·class="id"·title="module">OrderedTypeLists</span></a>.<br/> | 
| 108 | <br/> | 108 | <br/> | 
| 109 | </div> | 109 | </div> | 
| 110 | <div·class="doc"> | 110 | <div·class="doc"> | 
| 111 | <a·id="lab4 | 111 | <a·id="lab453"></a><h1·class="section">Results·about·keys·and·data·as·manipulated·in·the·future·MMaps.</h1> | 
| 112 | </div> | 112 | </div> | 
| 113 | <div·class="code"> | 113 | <div·class="code"> | 
| 114 | <br/> | 114 | <br/> | 
| 115 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyOrderedType"·class="idref"·href="#KeyOrderedType"><span·class="id"·title="module">KeyOrderedType</span></a>(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>).<br/> | 115 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyOrderedType"·class="idref"·href="#KeyOrderedType"><span·class="id"·title="module">KeyOrderedType</span></a>(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>).<br/> | 
| 116 |  <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<a·class="idref"·href="Coq.Structures.OrdersLists.html#O"><span·class="id"·title="module">O</span></a>).· | 116 |  <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<a·class="idref"·href="Coq.Structures.OrdersLists.html#O"><span·class="id"·title="module">O</span></a>).· | 
| Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>.<br/> | 
| 50 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 50 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 
| 51 | <br/> | 51 | <br/> | 
| 52 | </div> | 52 | </div> | 
| 53 | <div·class="doc"> | 53 | <div·class="doc"> | 
| 54 | <a·id="lab | 54 | <a·id="lab439"></a><h1·class="section">The·order·tactic</h1> | 
| 55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> | 
| 56 | ·This·tactic·is·designed·to·solve·systems·of·(in)equations | 56 | ·This·tactic·is·designed·to·solve·systems·of·(in)equations | 
| 57 | ····involving·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·and·<span·class="inlinecode">~<span·class="id"·title="var">eq</span></span>·on·some·type.·This·tactic·is | 57 | ····involving·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·and·<span·class="inlinecode">~<span·class="id"·title="var">eq</span></span>·on·some·type.·This·tactic·is | 
| 58 | ····domain-agnostic;·it·will·only·use·equivalence+order·axioms,·and | 58 | ····domain-agnostic;·it·will·only·use·equivalence+order·axioms,·and | 
| 59 | ····not·analyze·elements·of·the·domain.·Hypothesis·or·goal·of·the·form | 59 | ····not·analyze·elements·of·the·domain.·Hypothesis·or·goal·of·the·form | 
| Offset 88, 15 lines modified | Offset 88, 15 lines modified | ||
| 88 |  <span·class="id"·title="keyword">end</span>.<br/> | 88 |  <span·class="id"·title="keyword">end</span>.<br/> | 
| 89 | <span·class="id"·title="keyword">Local·Infix</span>·<a·id="00f623954fe4dd5f04bdc5ceb1846ff4"·class="idref"·href="#00f623954fe4dd5f04bdc5ceb1846ff4"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#trans_ord"><span·class="id"·title="definition">trans_ord</span></a>.<br/> | 89 | <span·class="id"·title="keyword">Local·Infix</span>·<a·id="00f623954fe4dd5f04bdc5ceb1846ff4"·class="idref"·href="#00f623954fe4dd5f04bdc5ceb1846ff4"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#trans_ord"><span·class="id"·title="definition">trans_ord</span></a>.<br/> | 
| 90 | <br/> | 90 | <br/> | 
| 91 | </div> | 91 | </div> | 
| 92 | <div·class="doc"> | 92 | <div·class="doc"> | 
| 93 | <a·id="lab | 93 | <a·id="lab440"></a><h2·class="section">The·tactic·requirements·:·a·total·order</h2> | 
| 94 | <div·class="paragraph">·</div> | 94 | <div·class="paragraph">·</div> | 
| 95 | ···We·need·: | 95 | ···We·need·: | 
| 96 | <ul·class="doclist"> | 96 | <ul·class="doclist"> | 
| 97 | <li>·an·equivalence·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>, | 97 | <li>·an·equivalence·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>, | 
| Offset 124, 15 lines modified | Offset 124, 15 lines modified | ||
| 124 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsTotalOrder"·class="idref"·href="#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)·:=<br/> | 124 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsTotalOrder"·class="idref"·href="#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)·:=<br/> | 
| 125 |  <a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#IsStrOrder"><span·class="id"·title="module">IsStrOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LeIsLtEq"><span·class="id"·title="module">LeIsLtEq</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtIsTotal"><span·class="id"·title="module">LtIsTotal</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>.<br/> | 125 |  <a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#IsStrOrder"><span·class="id"·title="module">IsStrOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LeIsLtEq"><span·class="id"·title="module">LeIsLtEq</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtIsTotal"><span·class="id"·title="module">LtIsTotal</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>.<br/> | 
| 126 | <br/> | 126 | <br/> | 
| 127 | </div> | 127 | </div> | 
| 128 | <div·class="doc"> | 128 | <div·class="doc"> | 
| 129 | <a·id="lab | 129 | <a·id="lab441"></a><h2·class="section">Properties·that·will·be·used·by·the·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic</h2> | 
| 130 | </div> | 130 | </div> | 
| 131 | <div·class="code"> | 131 | <div·class="code"> | 
| 132 | <br/> | 132 | <br/> | 
| 133 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderFacts"·class="idref"·href="#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)(<span·class="id"·title="var">P</span>:<a·class="idref"·href="Coq.Structures.OrdersTac.html#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 133 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderFacts"·class="idref"·href="#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)(<span·class="id"·title="var">P</span>:<a·class="idref"·href="Coq.Structures.OrdersTac.html#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 
| 134 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLeNotation"><span·class="id"·title="module">EqLtLeNotation</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>.<br/> | 134 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLeNotation"><span·class="id"·title="module">EqLtLeNotation</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>.<br/> | 
| Offset 234, 15 lines modified | Offset 234, 15 lines modified | ||
| 234 | <br/> | 234 | <br/> | 
| 235 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>.<br/> | 235 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>.<br/> | 
| 236 | <br/> | 236 | <br/> | 
| 237 | </div> | 237 | </div> | 
| 238 | <div·class="doc"> | 238 | <div·class="doc"> | 
| 239 | <a·id="lab | 239 | <a·id="lab442"></a><h2·class="section"><span·class="inlinecode"><span·class="id"·title="var">MakeOrderTac</span></span>·:·The·functor·providing·the·order·tactic.</h2> | 
| 240 | </div> | 240 | </div> | 
| 241 | <div·class="code"> | 241 | <div·class="code"> | 
| 242 | <br/> | 242 | <br/> | 
| 243 | <span·class="id"·title="keyword">Module</span>·<a·id="MakeOrderTac"·class="idref"·href="#MakeOrderTac"><span·class="id"·title="module">MakeOrderTac</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)(<span·class="id"·title="var">P</span>:<a·class="idref"·href="Coq.Structures.OrdersTac.html#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 243 | <span·class="id"·title="keyword">Module</span>·<a·id="MakeOrderTac"·class="idref"·href="#MakeOrderTac"><span·class="id"·title="module">MakeOrderTac</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)(<span·class="id"·title="var">P</span>:<a·class="idref"·href="Coq.Structures.OrdersTac.html#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 
| 244 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#P"><span·class="id"·title="module">P</span></a>.<br/> | 244 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#P"><span·class="id"·title="module">P</span></a>.<br/> | 
| Offset 5874, 4079 lines modified | Offset 5874, 4079 lines modified | ||
| 00016f10:·7265·6622·2068·7265·663d·2223·4954·4552··ref"·href="#ITER | 00016f10:·7265·6622·2068·7265·663d·2223·4954·4552··ref"·href="#ITER | ||
| 00016f20:·4154·4f52·5322·3e3c·7370·616e·2063·6c61··ATORS"><span·cla | 00016f20:·4154·4f52·5322·3e3c·7370·616e·2063·6c61··ATORS"><span·cla | ||
| 00016f30:·7373·3d22·6964·2220·7469·746c·653d·2273··ss="id"·title="s | 00016f30:·7373·3d22·6964·2220·7469·746c·653d·2273··ss="id"·title="s | ||
| 00016f40:·6563·7469·6f6e·223e·4954·4552·4154·4f52··ection">ITERATOR | 00016f40:·6563·7469·6f6e·223e·4954·4552·4154·4f52··ection">ITERATOR | ||
| 00016f50:·533c·2f73·7061·6e3e·3c2f·613e·2e3c·6272··S</span></a>.<br | 00016f50:·533c·2f73·7061·6e3e·3c2f·613e·2e3c·6272··S</span></a>.<br | ||
| 00016f60:·2f3e·0a3c·2f64·6976·3e0a·0a3c·6469·7620··/>.</div>..<div· | 00016f60:·2f3e·0a3c·2f64·6976·3e0a·0a3c·6469·7620··/>.</div>..<div· | Diff chunk too large, falling back to line-by-line diff (4072 lines added, 4072 lines removed) | |
| 00016f70:·636c·6173·733d·2264·6f63·223e·0a3c·6120··class="doc">.<a· | 00016f70:·636c·6173·733d·2264·6f63·223e·0a3c·6120··class="doc">.<a· | ||
| 00016f80:·6964·3d22·6c61·623 | 00016f80:·6964·3d22·6c61·6231·3232·3722·3e3c·2f61··id="lab1227"></a | ||
| 00016f90:·3c68 | 00016f90:·3e3c·6831·2063·6c61·7373·3d22·7365·6374··><h1·class="sect | ||
| 00016fa0:·6f6e | 00016fa0:·696f·6e22·3e48·6572·6520·6172·6520·7370··ion">Here·are·sp | ||
| 00016fb0:·6369 | 00016fb0:·6563·6961·6c20·6e6f·6e20·6465·7065·6e64··ecial·non·depend | ||
| 00016fc0:·6e74 | 00016fc0:·656e·7420·7573·6566·756c·2069·6e73·7461··ent·useful·insta | ||
| 00016fd0:·7469 | 00016fd0:·6e74·6961·7469·6f6e·206f·6620·696e·6475··ntiation·of·indu | ||
| 00016fe0:·7469 | 00016fe0:·6374·696f·6e20·7363·6865·6d65·733c·2f68··ction·schemes</h | ||
| 00016ff0:·3e0a | 00016ff0:·313e·0a0a·3c64·6976·2063·6c61·7373·3d22··1>..<div·class=" | ||
| 00017000:·6172 | 00017000:·7061·7261·6772·6170·6822·3e20·3c2f·6469··paragraph">·</di | ||
| 00017010:·3e0a | 00017010:·763e·0a0a·2055·6e69·666f·726d·2061·7070··v>..·Uniform·app | ||
| 00017020:·6963 | 00017020:·6c69·6361·7469·6f6e·206f·6e20·7468·6520··lication·on·the· | ||
| 00017030:·7267 | 00017030:·6172·6775·6d65·6e74·7320·6f66·2074·6865··arguments·of·the | ||
| 00017040:·7665 | 00017040:·2076·6563·746f·7220·0a3c·2f64·6976·3e0a···vector·.</div>. | ||
| 00017050:·6469 | 00017050:·3c64·6976·2063·6c61·7373·3d22·636f·6465··<div·class="code | ||
| 00017060:·3e0a | 00017060:·223e·0a3c·7370·616e·2063·6c61·7373·3d22··">.<span·class=" | ||
| 00017070:·64 | 00017070:·6964·2220·7469·746c·653d·226b·6579·776f··id"·title="keywo | ||
| 00017080:·64 | 00017080:·7264·223e·4465·6669·6e69·7469·6f6e·3c2f··rd">Definition</ | ||
| 00017090:·7061 | 00017090:·7370·616e·3e20·3c61·2069·643d·226d·6170··span>·<a·id="map | ||
| 000170a0:·2063 | 000170a0:·2220·636c·6173·733d·2269·6472·6566·2220··"·class="idref"· | ||
| 000170b0:·7265 | 000170b0:·6872·6566·3d22·236d·6170·223e·3c73·7061··href="#map"><spa | ||
| 000170c0:·2063 | 000170c0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
| 000170d0:·653d | 000170d0:·6c65·3d22·6465·6669·6e69·7469·6f6e·223e··le="definition"> | ||
| 000170e0:·6170 | 000170e0:·6d61·703c·2f73·7061·6e3e·3c2f·613e·207b··map</span></a>·{ | ||
| 000170f0:·6120 | 000170f0:·3c61·2069·643d·2241·3a31·3837·2220·636c··<a·id="A:187"·cl | ||
| 00017100:·7373 | 00017100:·6173·733d·2269·6472·6566·2220·6872·6566··ass="idref"·href | ||
| 00017110:·2223 | 00017110:·3d22·2341·3a31·3837·223e·3c73·7061·6e20··="#A:187"><span· | ||
| 00017120:·6c61 | 00017120:·636c·6173·733d·2269·6422·2074·6974·6c65··class="id"·title | ||
| 00017130:·2262 | 00017130:·3d22·6269·6e64·6572·223e·413c·2f73·7061··="binder">A</spa | ||
| 00017140:·3e3c | 00017140:·6e3e·3c2f·613e·7d20·7b3c·6120·6964·3d22··n></a>}·{<a·id=" | ||
| 00017150:·3a31 | 00017150:·423a·3138·3822·2063·6c61·7373·3d22·6964··B:188"·class="id | ||
| 00017160:·6566 | 00017160:·7265·6622·2068·7265·663d·2223·423a·3138··ref"·href="#B:18 | ||
| 00017170:·223e | 00017170:·3822·3e3c·7370·616e·2063·6c61·7373·3d22··8"><span·class=" | ||
| 00017180:·64 | 00017180:·6964·2220·7469·746c·653d·2262·696e·6465··id"·title="binde | ||
| 00017190:·223e | 00017190:·7222·3e42·3c2f·7370·616e·3e3c·2f61·3e7d··r">B</span></a>} | ||
| 000171a0:·283c | 000171a0:·2028·3c61·2069·643d·2266·3a31·3839·2220···(<a·id="f:189"· | ||
| 000171b0:·6c61 | 000171b0:·636c·6173·733d·2269·6472·6566·2220·6872··class="idref"·hr | ||
| 000171c0:·663d | 000171c0:·6566·3d22·2366·3a31·3839·223e·3c73·7061··ef="#f:189"><spa | ||
| 000171d0:·2063 | 000171d0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
| 000171e0:·653d | 000171e0:·6c65·3d22·6269·6e64·6572·223e·663c·2f73··le="binder">f</s | ||
| 000171f0:·616e | 000171f0:·7061·6e3e·3c2f·613e·203a·203c·6120·636c··pan></a>·:·<a·cl | ||
| 00017200:·7373 | 00017200:·6173·733d·2269·6472·6566·2220·6872·6566··ass="idref"·href | ||
| 00017210:·2243 | 00017210:·3d22·436f·712e·5665·6374·6f72·732e·5665··="Coq.Vectors.Ve | ||
| 00017220:·746f | 00017220:·6374·6f72·4465·662e·6874·6d6c·2341·3a31··ctorDef.html#A:1 | ||
| 00017230:·37 | 00017230:·3837·223e·3c73·7061·6e20·636c·6173·733d··87"><span·class= | ||
| 00017240:·6964 | 00017240:·2269·6422·2074·6974·6c65·3d22·7661·7269··"id"·title="vari | ||
| 00017250:·626c | 00017250:·6162·6c65·223e·413c·2f73·7061·6e3e·3c2f··able">A</span></ | ||
| 00017260:·3e20 | 00017260:·613e·203c·6120·636c·6173·733d·2269·6472··a>·<a·class="idr | ||
| 00017270:·66 | 00017270:·6566·2220·6872·6566·3d22·436f·712e·496e··ef"·href="Coq.In | ||
| 00017280:·742e | 00017280:·6974·2e4c·6f67·6963·2e68·746d·6c23·3a3a··it.Logic.html#:: | ||
| 00017290:·7970 | 00017290:·7479·7065·5f73·636f·7065·3a78·5f27·2d26··type_scope:x_'-& | ||
| 000172a0:·743b | 000172a0:·6774·3b27·5f78·223e·3c73·7061·6e20·636c··gt;'_x"><span·cl | ||
| 000172b0:·7373 | 000172b0:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
| 000172c0:·6f74 | 000172c0:·6e6f·7461·7469·6f6e·223e·2d26·6774·3b3c··notation">->< | ||
| 000172d0:·7370 | 000172d0:·2f73·7061·6e3e·3c2f·613e·203c·6120·636c··/span></a>·<a·cl | ||
| 000172e0:·7373 | 000172e0:·6173·733d·2269·6472·6566·2220·6872·6566··ass="idref"·href | ||
| 000172f0:·2243 | 000172f0:·3d22·436f·712e·5665·6374·6f72·732e·5665··="Coq.Vectors.Ve | ||
| 00017300:·746f | 00017300:·6374·6f72·4465·662e·6874·6d6c·2342·3a31··ctorDef.html#B:1 | ||
| 00017310:·38 | 00017310:·3838·223e·3c73·7061·6e20·636c·6173·733d··88"><span·class= | ||
| 00017320:·6964 | 00017320:·2269·6422·2074·6974·6c65·3d22·7661·7269··"id"·title="vari | ||
| 00017330:·626c | 00017330:·6162·6c65·223e·423c·2f73·7061·6e3e·3c2f··able">B</span></ | ||
| 00017340:·3e29 | 00017340:·613e·2920·3a20·3c73·7061·6e20·636c·6173··a>)·:·<span·clas | ||
| 00017350:·3d | 00017350:·733d·2269·6422·2074·6974·6c65·3d22·6b65··s="id"·title="ke | ||
| 00017360:·776f | 00017360:·7977·6f72·6422·3e66·6f72·616c·6c3c·2f73··yword">forall</s | ||
| 00017370:·616e | 00017370:·7061·6e3e·207b·3c61·2069·643d·226e·3a31··pan>·{<a·id="n:1 | ||
| 00017380:·30 | 00017380:·3930·2220·636c·6173·733d·2269·6472·6566··90"·class="idref | ||
| 00017390:·2068 | 00017390:·2220·6872·6566·3d22·236e·3a31·3930·223e··"·href="#n:190"> | ||
| 000173a0:·7370 | 000173a0:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
| 000173b0:·7469 | 000173b0:·2074·6974·6c65·3d22·6269·6e64·6572·223e···title="binder"> | ||
| 000173c0:·3c2f | 000173c0:·6e3c·2f73·7061·6e3e·3c2f·613e·7d20·283c··n</span></a>}·(< | ||
| 000173d0:·2069 | 000173d0:·6120·6964·3d22·763a·3139·3122·2063·6c61··a·id="v:191"·cla | ||
| 000173e0:·733d | 000173e0:·7373·3d22·6964·7265·6622·2068·7265·663d··ss="idref"·href= | ||
| 000173f0:·2376 | 000173f0:·2223·763a·3139·3122·3e3c·7370·616e·2063··"#v:191"><span·c | ||
| 00017400:·6173 | 00017400:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
| 00017410:·6269 | 00017410:·2262·696e·6465·7222·3e76·3c2f·7370·616e··"binder">v</span | ||
| 00017420:·3c2f | 00017420:·3e3c·2f61·3e3a·3c61·2063·6c61·7373·3d22··></a>:<a·class=" | ||
| 00017430:·6472 | 00017430:·6964·7265·6622·2068·7265·663d·2243·6f71··idref"·href="Coq | ||
| 00017440:·5665 | 00017440:·2e56·6563·746f·7273·2e56·6563·746f·7244··.Vectors.VectorD | ||
| 00017450:·662e | 00017450:·6566·2e68·746d·6c23·7422·3e3c·7370·616e··ef.html#t"><span | ||
| 00017460:·636c | 00017460:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | ||
| 00017470:·3d | 00017470:·653d·2269·6e64·7563·7469·7665·223e·743c··e="inductive">t< | ||
| 00017480:·7370 | 00017480:·2f73·7061·6e3e·3c2f·613e·203c·6120·636c··/span></a>·<a·cl | ||
| 00017490:·7373 | 00017490:·6173·733d·2269·6472·6566·2220·6872·6566··ass="idref"·href | ||
| 000174a0:·2243 | 000174a0:·3d22·436f·712e·5665·6374·6f72·732e·5665··="Coq.Vectors.Ve | ||
| 000174b0:·746f | 000174b0:·6374·6f72·4465·662e·6874·6d6c·2341·3a31··ctorDef.html#A:1 | ||
| 000174c0:·37 | 000174c0:·3837·223e·3c73·7061·6e20·636c·6173·733d··87"><span·class= | ||
| 000174d0:·6964 | 000174d0:·2269·6422·2074·6974·6c65·3d22·7661·7269··"id"·title="vari | ||
| 000174e0:·626c | 000174e0:·6162·6c65·223e·413c·2f73·7061·6e3e·3c2f··able">A</span></ | ||
| 000174f0:·3e20 | 000174f0:·613e·203c·6120·636c·6173·733d·2269·6472··a>·<a·class="idr | ||
| 00017500:·66 | 00017500:·6566·2220·6872·6566·3d22·436f·712e·5665··ef"·href="Coq.Ve | ||
| 00017510:·746f | 00017510:·6374·6f72·732e·5665·6374·6f72·4465·662e··ctors.VectorDef. | ||
| 00017520:·746d | 00017520:·6874·6d6c·236e·3a31·3930·223e·3c73·7061··html#n:190"><spa | ||
| 00017530:·2063 | 00017530:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
| 00017540:·653d | 00017540:·6c65·3d22·7661·7269·6162·6c65·223e·6e3c··le="variable">n< | ||
| 00017550:·7370 | 00017550:·2f73·7061·6e3e·3c2f·613e·292c·203c·6120··/span></a>),·<a· | ||
| 00017560:·6c61 | 00017560:·636c·6173·733d·2269·6472·6566·2220·6872··class="idref"·hr | ||
| 00017570:·663d | 00017570:·6566·3d22·436f·712e·5665·6374·6f72·732e··ef="Coq.Vectors. | ||
| 00017580:·6563 | 00017580:·5665·6374·6f72·4465·662e·6874·6d6c·2374··VectorDef.html#t | ||
| 00017590:·3e3c | 00017590:·223e·3c73·7061·6e20·636c·6173·733d·2269··"><span·class="i | ||
| 000175a0:·2220 | 000175a0:·6422·2074·6974·6c65·3d22·696e·6475·6374··d"·title="induct | ||
| 000175b0:·7665 | 000175b0:·6976·6522·3e74·3c2f·7370·616e·3e3c·2f61··ive">t</span></a | ||
| 000175c0:·203c | 000175c0:·3e20·3c61·2063·6c61·7373·3d22·6964·7265··>·<a·class="idre | ||
| 000175d0:·2220 | 000175d0:·6622·2068·7265·663d·2243·6f71·2e56·6563··f"·href="Coq.Vec | ||
| 000175e0:·6f72 | 000175e0:·746f·7273·2e56·6563·746f·7244·6566·2e68··tors.VectorDef.h | ||
| 000175f0:·6d6c | 000175f0:·746d·6c23·423a·3138·3822·3e3c·7370·616e··tml#B:188"><span | ||
| 00017600:·636c | 00017600:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | ||
| 00017610:·3d | 00017610:·653d·2276·6172·6961·626c·6522·3e42·3c2f··e="variable">B</ | ||
| 00017620:·7061 | 00017620:·7370·616e·3e3c·2f61·3e20·3c61·2063·6c61··span></a>·<a·cla | ||
| 00017630:·733d | 00017630:·7373·3d22·6964·7265·6622·2068·7265·663d··ss="idref"·href= | ||
| 00017640:·436f | 00017640:·2243·6f71·2e56·6563·746f·7273·2e56·6563··"Coq.Vectors.Vec | ||
| 00017650:·6f72 | 00017650:·746f·7244·6566·2e68·746d·6c23·6e3a·3139··torDef.html#n:19 | ||
| 00017660:·223e | 00017660:·3022·3e3c·7370·616e·2063·6c61·7373·3d22··0"><span·class=" | ||
| 00017670:·64 | 00017670:·6964·2220·7469·746c·653d·2276·6172·6961··id"·title="varia | ||
| 00017680:·6c65 | 00017680:·626c·6522·3e6e·3c2f·7370·616e·3e3c·2f61··ble">n</span></a | ||
| 00017690:·203a | 00017690:·3e20·3a3d·3c62·722f·3e0a·266e·6273·703b··>·:=<br/>.  | ||
| 000176a0:·6e62 | 000176a0:·266e·6273·703b·3c73·7061·6e20·636c·6173·· <span·clas | ||
| 000176b0:·3d | 000176b0:·733d·2269·6422·2074·6974·6c65·3d22·6b65··s="id"·title="ke | ||
| 000176c0:·776f | 000176c0:·7977·6f72·6422·3e66·6978·3c2f·7370·616e··yword">fix</span | ||
| 000176d0:·203c | 000176d0:·3e20·3c73·7061·6e20·636c·6173·733d·2269··>·<span·class="i | ||
| 000176e0:·2220 | 000176e0:·6422·2074·6974·6c65·3d22·7661·7222·3e6d··d"·title="var">m | ||
| Max diff block lines reached; -1/562443 bytes (-0.00%) of diff not shown. | |||
| Offset 91, 15 lines modified | Offset 91, 15 lines modified | ||
| 91 | </div> | 91 | </div> | 
| 92 | <div·class="doc"> | 92 | <div·class="doc"> | 
| 93 | Lemmas·are·done·for·functions·that·use·<span·class="inlinecode"><span·class="id"·title="var">Fin.t</span></span>·but·thanks·to·<span·class="inlinecode"><span·class="id"·title="var">Peano_dec.le_unique</span></span>,·all | 93 | Lemmas·are·done·for·functions·that·use·<span·class="inlinecode"><span·class="id"·title="var">Fin.t</span></span>·but·thanks·to·<span·class="inlinecode"><span·class="id"·title="var">Peano_dec.le_unique</span></span>,·all | 
| 94 | is·true·for·the·one·that·use·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>· | 94 | is·true·for·the·one·that·use·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>· | 
| 95 | <div·class="paragraph">·</div> | 95 | <div·class="paragraph">·</div> | 
| 96 | <a·id="lab | 96 | <a·id="lab1229"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">nth</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">nth_order</span></span></h2> | 
| 97 | </div> | 97 | </div> | 
| 98 | <div·class="code"> | 98 | <div·class="code"> | 
| 99 | <br/> | 99 | <br/> | 
| 100 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eq_nth_iff"·class="idref"·href="#eq_nth_iff"><span·class="id"·title="lemma">eq_nth_iff</span></a>·<a·id="A:26"·class="idref"·href="#A:26"><span·class="id"·title="binder">A</span></a>·<a·id="n:27"·class="idref"·href="#n:27"><span·class="id"·title="binder">n</span></a>·(<a·id="v1:28"·class="idref"·href="#v1:28"><span·class="id"·title="binder">v1</span></a>·<a·id="v2:29"·class="idref"·href="#v2:29"><span·class="id"·title="binder">v2</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:26"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:27"><span·class="id"·title="variable">n</span></a>):<br/> | 100 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eq_nth_iff"·class="idref"·href="#eq_nth_iff"><span·class="id"·title="lemma">eq_nth_iff</span></a>·<a·id="A:26"·class="idref"·href="#A:26"><span·class="id"·title="binder">A</span></a>·<a·id="n:27"·class="idref"·href="#n:27"><span·class="id"·title="binder">n</span></a>·(<a·id="v1:28"·class="idref"·href="#v1:28"><span·class="id"·title="binder">v1</span></a>·<a·id="v2:29"·class="idref"·href="#v2:29"><span·class="id"·title="binder">v2</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:26"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:27"><span·class="id"·title="variable">n</span></a>):<br/> | 
| 101 |   <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="p1:30"·class="idref"·href="#p1:30"><span·class="id"·title="binder">p1</span></a>·<a·id="p2:31"·class="idref"·href="#p2:31"><span·class="id"·title="binder">p2</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p1:30"><span·class="id"·title="variable">p1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p2:31"><span·class="id"·title="variable">p2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v1:28"><span·class="id"·title="variable">v1</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">[@</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p1:30"><span·class="id"·title="variable">p1</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v2:29"><span·class="id"·title="variable">v2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">[@</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p2:31"><span·class="id"·title="variable">p2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">]</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v1:28"><span·class="id"·title="variable">v1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v2:29"><span·class="id"·title="variable">v2</span></a>.<br/> | 101 |   <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="p1:30"·class="idref"·href="#p1:30"><span·class="id"·title="binder">p1</span></a>·<a·id="p2:31"·class="idref"·href="#p2:31"><span·class="id"·title="binder">p2</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p1:30"><span·class="id"·title="variable">p1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p2:31"><span·class="id"·title="variable">p2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v1:28"><span·class="id"·title="variable">v1</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">[@</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p1:30"><span·class="id"·title="variable">p1</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v2:29"><span·class="id"·title="variable">v2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">[@</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p2:31"><span·class="id"·title="variable">p2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">]</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v1:28"><span·class="id"·title="variable">v1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v2:29"><span·class="id"·title="variable">v2</span></a>.<br/> | 
| Offset 132, 15 lines modified | Offset 132, 15 lines modified | ||
| 132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="In_nth"·class="idref"·href="#In_nth"><span·class="id"·title="lemma">In_nth</span></a>·<a·id="A:64"·class="idref"·href="#A:64"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:65"·class="idref"·href="#n:65"><span·class="id"·title="binder">n</span></a>·(<a·id="v:66"·class="idref"·href="#v:66"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:64"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:65"><span·class="id"·title="variable">n</span></a>)·<a·id="p:67"·class="idref"·href="#p:67"><span·class="id"·title="binder">p</span></a>,<br/> | 132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="In_nth"·class="idref"·href="#In_nth"><span·class="id"·title="lemma">In_nth</span></a>·<a·id="A:64"·class="idref"·href="#A:64"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:65"·class="idref"·href="#n:65"><span·class="id"·title="binder">n</span></a>·(<a·id="v:66"·class="idref"·href="#v:66"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:64"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:65"><span·class="id"·title="variable">n</span></a>)·<a·id="p:67"·class="idref"·href="#p:67"><span·class="id"·title="binder">p</span></a>,<br/> | 
| 133 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorDef.html#nth"><span·class="id"·title="definition">nth</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:66"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:67"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:66"><span·class="id"·title="variable">v</span></a>.<br/> | 133 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorDef.html#nth"><span·class="id"·title="definition">nth</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:66"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:67"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:66"><span·class="id"·title="variable">v</span></a>.<br/> | 
| 134 | <br/> | 134 | <br/> | 
| 135 | </div> | 135 | </div> | 
| 136 | <div·class="doc"> | 136 | <div·class="doc"> | 
| 137 | <a·id="lab | 137 | <a·id="lab1230"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="tactic">replace</span></span></h2> | 
| 138 | </div> | 138 | </div> | 
| 139 | <div·class="code"> | 139 | <div·class="code"> | 
| 140 | <br/> | 140 | <br/> | 
| 141 | <span·class="id"·title="keyword">Lemma</span>·<a·id="nth_replace_eq"·class="idref"·href="#nth_replace_eq"><span·class="id"·title="lemma">nth_replace_eq</span></a>·<a·id="A:68"·class="idref"·href="#A:68"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:69"·class="idref"·href="#n:69"><span·class="id"·title="binder">n</span></a>·<a·id="p:70"·class="idref"·href="#p:70"><span·class="id"·title="binder">p</span></a>·(<a·id="v:71"·class="idref"·href="#v:71"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:68"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:69"><span·class="id"·title="variable">n</span></a>)·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>,<br/> | 141 | <span·class="id"·title="keyword">Lemma</span>·<a·id="nth_replace_eq"·class="idref"·href="#nth_replace_eq"><span·class="id"·title="lemma">nth_replace_eq</span></a>·<a·id="A:68"·class="idref"·href="#A:68"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:69"·class="idref"·href="#n:69"><span·class="id"·title="binder">n</span></a>·<a·id="p:70"·class="idref"·href="#p:70"><span·class="id"·title="binder">p</span></a>·(<a·id="v:71"·class="idref"·href="#v:71"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:68"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:69"><span·class="id"·title="variable">n</span></a>)·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>,<br/> | 
| 142 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#nth"><span·class="id"·title="definition">nth</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:71"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:70"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:72"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:70"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:72"><span·class="id"·title="variable">a</span></a>.<br/> | 142 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#nth"><span·class="id"·title="definition">nth</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:71"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:70"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:72"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:70"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:72"><span·class="id"·title="variable">a</span></a>.<br/> | 
| Offset 178, 30 lines modified | Offset 178, 30 lines modified | ||
| 178 | <span·class="id"·title="keyword">Lemma</span>·<a·id="replace_append_R"·class="idref"·href="#replace_append_R"><span·class="id"·title="lemma">replace_append_R</span></a>·<a·id="A:132"·class="idref"·href="#A:132"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:133"·class="idref"·href="#n:133"><span·class="id"·title="binder">n</span></a>·<a·id="m:134"·class="idref"·href="#m:134"><span·class="id"·title="binder">m</span></a>·(<a·id="v:135"·class="idref"·href="#v:135"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:132"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:133"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:136"·class="idref"·href="#w:136"><span·class="id"·title="binder">w</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:132"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:134"><span·class="id"·title="variable">m</span></a>)·<a·id="p:137"·class="idref"·href="#p:137"><span·class="id"·title="binder">p</span></a>·<a·id="a:138"·class="idref"·href="#a:138"><span·class="id"·title="binder">a</span></a>,<br/> | 178 | <span·class="id"·title="keyword">Lemma</span>·<a·id="replace_append_R"·class="idref"·href="#replace_append_R"><span·class="id"·title="lemma">replace_append_R</span></a>·<a·id="A:132"·class="idref"·href="#A:132"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:133"·class="idref"·href="#n:133"><span·class="id"·title="binder">n</span></a>·<a·id="m:134"·class="idref"·href="#m:134"><span·class="id"·title="binder">m</span></a>·(<a·id="v:135"·class="idref"·href="#v:135"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:132"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:133"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:136"·class="idref"·href="#w:136"><span·class="id"·title="binder">w</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:132"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:134"><span·class="id"·title="variable">m</span></a>)·<a·id="p:137"·class="idref"·href="#p:137"><span·class="id"·title="binder">p</span></a>·<a·id="a:138"·class="idref"·href="#a:138"><span·class="id"·title="binder">a</span></a>,<br/> | 
| 179 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:135"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:136"><span·class="id"·title="variable">w</span></a>)·(<a·class="idref"·href="Coq.Vectors.Fin.html#R"><span·class="id"·title="definition">Fin.R</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:133"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:137"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:138"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:135"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:136"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:137"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:138"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">)</span></a>.<br/> | 179 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:135"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:136"><span·class="id"·title="variable">w</span></a>)·(<a·class="idref"·href="Coq.Vectors.Fin.html#R"><span·class="id"·title="definition">Fin.R</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:133"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:137"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:138"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:135"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:136"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:137"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:138"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 180 | <br/> | 180 | <br/> | 
| 181 | </div> | 181 | </div> | 
| 182 | <div·class="doc"> | 182 | <div·class="doc"> | 
| 183 | <a·id="lab | 183 | <a·id="lab1231"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">const</span></span></h2> | 
| 184 | </div> | 184 | </div> | 
| 185 | <div·class="code"> | 185 | <div·class="code"> | 
| 186 | <br/> | 186 | <br/> | 
| 187 | <span·class="id"·title="keyword">Lemma</span>·<a·id="const_nth"·class="idref"·href="#const_nth"><span·class="id"·title="lemma">const_nth</span></a>·<a·id="A:139"·class="idref"·href="#A:139"><span·class="id"·title="binder">A</span></a>·(<a·id="a:140"·class="idref"·href="#a:140"><span·class="id"·title="binder">a</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:139"><span·class="id"·title="variable">A</span></a>)·<a·id="n:141"·class="idref"·href="#n:141"><span·class="id"·title="binder">n</span></a>·(<a·id="p:142"·class="idref"·href="#p:142"><span·class="id"·title="binder">p</span></a>:·<a·class="idref"·href="Coq.Vectors.Fin.html#t"><span·class="id"·title="inductive">Fin.t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:141"><span·class="id"·title="variable">n</span></a>):·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:140"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:141"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">)[@</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:142"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:140"><span·class="id"·title="variable">a</span></a>.<br/> | 187 | <span·class="id"·title="keyword">Lemma</span>·<a·id="const_nth"·class="idref"·href="#const_nth"><span·class="id"·title="lemma">const_nth</span></a>·<a·id="A:139"·class="idref"·href="#A:139"><span·class="id"·title="binder">A</span></a>·(<a·id="a:140"·class="idref"·href="#a:140"><span·class="id"·title="binder">a</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:139"><span·class="id"·title="variable">A</span></a>)·<a·id="n:141"·class="idref"·href="#n:141"><span·class="id"·title="binder">n</span></a>·(<a·id="p:142"·class="idref"·href="#p:142"><span·class="id"·title="binder">p</span></a>:·<a·class="idref"·href="Coq.Vectors.Fin.html#t"><span·class="id"·title="inductive">Fin.t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:141"><span·class="id"·title="variable">n</span></a>):·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:140"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:141"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">)[@</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:142"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:140"><span·class="id"·title="variable">a</span></a>.<br/> | 
| 188 | <br/> | 188 | <br/> | 
| 189 | <span·class="id"·title="keyword">Lemma</span>·<a·id="append_const"·class="idref"·href="#append_const"><span·class="id"·title="lemma">append_const</span></a>·<a·id="A:143"·class="idref"·href="#A:143"><span·class="id"·title="binder">A</span></a>·(<a·id="a:144"·class="idref"·href="#a:144"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:143"><span·class="id"·title="variable">A</span></a>)·<a·id="n:145"·class="idref"·href="#n:145"><span·class="id"·title="binder">n</span></a>·<a·id="m:146"·class="idref"·href="#m:146"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:145"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:146"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:145"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:146"><span·class="id"·title="variable">m</span></a>).<br/> | 189 | <span·class="id"·title="keyword">Lemma</span>·<a·id="append_const"·class="idref"·href="#append_const"><span·class="id"·title="lemma">append_const</span></a>·<a·id="A:143"·class="idref"·href="#A:143"><span·class="id"·title="binder">A</span></a>·(<a·id="a:144"·class="idref"·href="#a:144"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:143"><span·class="id"·title="variable">A</span></a>)·<a·id="n:145"·class="idref"·href="#n:145"><span·class="id"·title="binder">n</span></a>·<a·id="m:146"·class="idref"·href="#m:146"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:145"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:146"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:145"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:146"><span·class="id"·title="variable">m</span></a>).<br/> | 
| 190 | <br/> | 190 | <br/> | 
| 191 | </div> | 191 | </div> | 
| 192 | <div·class="doc"> | 192 | <div·class="doc"> | 
| 193 | <a·id="lab | 193 | <a·id="lab1232"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">map</span></span></h2> | 
| 194 | </div> | 194 | </div> | 
| 195 | <div·class="code"> | 195 | <div·class="code"> | 
| 196 | <br/> | 196 | <br/> | 
| 197 | <span·class="id"·title="keyword">Lemma</span>·<a·id="map_id"·class="idref"·href="#map_id"><span·class="id"·title="lemma">map_id</span></a>·<a·id="A:147"·class="idref"·href="#A:147"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:148"·class="idref"·href="#n:148"><span·class="id"·title="binder">n</span></a>·(<a·id="v:149"·class="idref"·href="#v:149"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:147"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:148"><span·class="id"·title="variable">n</span></a>),<br/> | 197 | <span·class="id"·title="keyword">Lemma</span>·<a·id="map_id"·class="idref"·href="#map_id"><span·class="id"·title="lemma">map_id</span></a>·<a·id="A:147"·class="idref"·href="#A:147"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:148"·class="idref"·href="#n:148"><span·class="id"·title="binder">n</span></a>·(<a·id="v:149"·class="idref"·href="#v:149"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:147"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:148"><span·class="id"·title="variable">n</span></a>),<br/> | 
| 198 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#map"><span·class="id"·title="definition">map</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:150"·class="idref"·href="#x:150"><span·class="id"·title="binder">x</span></a>·=>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#x:150"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:149"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:149"><span·class="id"·title="variable">v</span></a>.<br/> | 198 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#map"><span·class="id"·title="definition">map</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:150"·class="idref"·href="#x:150"><span·class="id"·title="binder">x</span></a>·=>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#x:150"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:149"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:149"><span·class="id"·title="variable">v</span></a>.<br/> | 
| Offset 234, 29 lines modified | Offset 234, 29 lines modified | ||
| 234 | <span·class="id"·title="keyword">Lemma</span>·<a·id="map2_ext"·class="idref"·href="#map2_ext"><span·class="id"·title="lemma">map2_ext</span></a>·<a·id="A:198"·class="idref"·href="#A:198"><span·class="id"·title="binder">A</span></a>·<a·id="B:199"·class="idref"·href="#B:199"><span·class="id"·title="binder">B</span></a>·<a·id="C:200"·class="idref"·href="#C:200"><span·class="id"·title="binder">C</span></a>:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:201"·class="idref"·href="#f:201"><span·class="id"·title="binder">f</span></a>·<a·id="g:202"·class="idref"·href="#g:202"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:198"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#B:199"><span·class="id"·title="variable">B</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#C:200"><span·class="id"·title="variable">C</span></a>),·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="a:203"·class="idref"·href="#a:203"><span·class="id"·title="binder">a</span></a>·<a·id="b:204"·class="idref"·href="#b:204"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:203"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:204"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#g:202"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:203"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:204"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 234 | <span·class="id"·title="keyword">Lemma</span>·<a·id="map2_ext"·class="idref"·href="#map2_ext"><span·class="id"·title="lemma">map2_ext</span></a>·<a·id="A:198"·class="idref"·href="#A:198"><span·class="id"·title="binder">A</span></a>·<a·id="B:199"·class="idref"·href="#B:199"><span·class="id"·title="binder">B</span></a>·<a·id="C:200"·class="idref"·href="#C:200"><span·class="id"·title="binder">C</span></a>:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:201"·class="idref"·href="#f:201"><span·class="id"·title="binder">f</span></a>·<a·id="g:202"·class="idref"·href="#g:202"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:198"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#B:199"><span·class="id"·title="variable">B</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#C:200"><span·class="id"·title="variable">C</span></a>),·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="a:203"·class="idref"·href="#a:203"><span·class="id"·title="binder">a</span></a>·<a·id="b:204"·class="idref"·href="#b:204"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:203"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:204"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#g:202"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:203"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:204"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 235 |   <span·class="id"·title="keyword">forall</span>·<a·id="n:205"·class="idref"·href="#n:205"><span·class="id"·title="binder">n</span></a>·(<a·id="v:206"·class="idref"·href="#v:206"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:198"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:205"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:207"·class="idref"·href="#w:207"><span·class="id"·title="binder">w</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#B:199"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:205"><span·class="id"·title="variable">n</span></a>),·<a·class="idref"·href="Coq.Vectors.VectorDef.html#map2"><span·class="id"·title="definition">map2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:206"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:207"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#map2"><span·class="id"·title="definition">map2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#g:202"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:206"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:207"><span·class="id"·title="variable">w</span></a>.<br/> | 235 |   <span·class="id"·title="keyword">forall</span>·<a·id="n:205"·class="idref"·href="#n:205"><span·class="id"·title="binder">n</span></a>·(<a·id="v:206"·class="idref"·href="#v:206"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:198"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:205"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:207"·class="idref"·href="#w:207"><span·class="id"·title="binder">w</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#B:199"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:205"><span·class="id"·title="variable">n</span></a>),·<a·class="idref"·href="Coq.Vectors.VectorDef.html#map2"><span·class="id"·title="definition">map2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:206"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:207"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#map2"><span·class="id"·title="definition">map2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#g:202"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:206"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:207"><span·class="id"·title="variable">w</span></a>.<br/> | 
| 236 | <br/> | 236 | <br/> | 
| 237 | </div> | 237 | </div> | 
| 238 | <div·class="doc"> | 238 | <div·class="doc"> | 
| 239 | <a·id="lab | 239 | <a·id="lab1233"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">fold_left</span></span></h2> | 
| 240 | </div> | 240 | </div> | 
| 241 | <div·class="code"> | 241 | <div·class="code"> | 
| 242 | <br/> | 242 | <br/> | 
| 243 | <span·class="id"·title="keyword">Lemma</span>·<a·id="fold_left_right_assoc_eq"·class="idref"·href="#fold_left_right_assoc_eq"><span·class="id"·title="lemma">fold_left_right_assoc_eq</span></a>·{<a·id="A:214"·class="idref"·href="#A:214"><span·class="id"·title="binder">A</span></a>·<a·id="B:215"·class="idref"·href="#B:215"><span·class="id"·title="binder">B</span></a>}·{<a·id="f:216"·class="idref"·href="#f:216"><span·class="id"·title="binder">f</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:214"><span·class="id"·title="variable">A</span></a>}<br/> | 243 | <span·class="id"·title="keyword">Lemma</span>·<a·id="fold_left_right_assoc_eq"·class="idref"·href="#fold_left_right_assoc_eq"><span·class="id"·title="lemma">fold_left_right_assoc_eq</span></a>·{<a·id="A:214"·class="idref"·href="#A:214"><span·class="id"·title="binder">A</span></a>·<a·id="B:215"·class="idref"·href="#B:215"><span·class="id"·title="binder">B</span></a>}·{<a·id="f:216"·class="idref"·href="#f:216"><span·class="id"·title="binder">f</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:214"><span·class="id"·title="variable">A</span></a>}<br/> | 
| 244 |   (<a·id="assoc:220"·class="idref"·href="#assoc:220"><span·class="id"·title="binder">assoc</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:217"·class="idref"·href="#a:217"><span·class="id"·title="binder">a</span></a>·<a·id="b:218"·class="idref"·href="#b:218"><span·class="id"·title="binder">b</span></a>·<a·id="c:219"·class="idref"·href="#c:219"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:217"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:218"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#c:219"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:217"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#c:219"><span·class="id"·title="variable">c</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:218"><span·class="id"·title="variable">b</span></a>)<br/> | 244 |   (<a·id="assoc:220"·class="idref"·href="#assoc:220"><span·class="id"·title="binder">assoc</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:217"·class="idref"·href="#a:217"><span·class="id"·title="binder">a</span></a>·<a·id="b:218"·class="idref"·href="#b:218"><span·class="id"·title="binder">b</span></a>·<a·id="c:219"·class="idref"·href="#c:219"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:217"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:218"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#c:219"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:217"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#c:219"><span·class="id"·title="variable">c</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:218"><span·class="id"·title="variable">b</span></a>)<br/> | 
| 245 |   {<a·id="n:221"·class="idref"·href="#n:221"><span·class="id"·title="binder">n</span></a>}·(<a·id="v:222"·class="idref"·href="#v:222"><span·class="id"·title="binder">v</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:221"><span·class="id"·title="variable">n</span></a>):·<span·class="id"·title="keyword">forall</span>·<a·id="a:223"·class="idref"·href="#a:223"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorDef.html#fold_left"><span·class="id"·title="definition">fold_left</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:223"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:222"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#fold_right"><span·class="id"·title="definition">fold_right</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:224"·class="idref"·href="#x:224"><span·class="id"·title="binder">x</span></a>·<a·id="y:225"·class="idref"·href="#y:225"><span·class="id"·title="binder">y</span></a>·=>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#y:225"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#x:224"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:222"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:223"><span·class="id"·title="variable">a</span></a>.<br/> | 245 |   {<a·id="n:221"·class="idref"·href="#n:221"><span·class="id"·title="binder">n</span></a>}·(<a·id="v:222"·class="idref"·href="#v:222"><span·class="id"·title="binder">v</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:221"><span·class="id"·title="variable">n</span></a>):·<span·class="id"·title="keyword">forall</span>·<a·id="a:223"·class="idref"·href="#a:223"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorDef.html#fold_left"><span·class="id"·title="definition">fold_left</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:223"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:222"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#fold_right"><span·class="id"·title="definition">fold_right</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:224"·class="idref"·href="#x:224"><span·class="id"·title="binder">x</span></a>·<a·id="y:225"·class="idref"·href="#y:225"><span·class="id"·title="binder">y</span></a>·=>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#y:225"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#x:224"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:222"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:223"><span·class="id"·title="variable">a</span></a>.<br/> | 
| 246 | <br/> | 246 | <br/> | 
| 247 | </div> | 247 | </div> | 
| 248 | <div·class="doc"> | 248 | <div·class="doc"> | 
| 249 | <a·id="lab | 249 | <a·id="lab1234"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">take</span></span></h2> | 
| 250 | </div> | 250 | </div> | 
| 251 | <div·class="code"> | 251 | <div·class="code"> | 
| 252 | <br/> | 252 | <br/> | 
| 253 | <span·class="id"·title="keyword">Lemma</span>·<a·id="take_O"·class="idref"·href="#take_O"><span·class="id"·title="lemma">take_O</span></a>·:·<span·class="id"·title="keyword">forall</span>·{<a·id="A:234"·class="idref"·href="#A:234"><span·class="id"·title="binder">A</span></a>}·{<a·id="n:235"·class="idref"·href="#n:235"><span·class="id"·title="binder">n</span></a>}·<a·id="le:236"·class="idref"·href="#le:236"><span·class="id"·title="binder">le</span></a>·(<a·id="v:237"·class="idref"·href="#v:237"><span·class="id"·title="binder">v</span></a>:<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:234"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:235"><span·class="id"·title="variable">n</span></a>),·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·0·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le:236"><span·class="id"·title="variable">le</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:237"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#4591d6c2b36fedc12d5b1c142546a37e"><span·class="id"·title="notation">[]</span></a>.<br/> | 253 | <span·class="id"·title="keyword">Lemma</span>·<a·id="take_O"·class="idref"·href="#take_O"><span·class="id"·title="lemma">take_O</span></a>·:·<span·class="id"·title="keyword">forall</span>·{<a·id="A:234"·class="idref"·href="#A:234"><span·class="id"·title="binder">A</span></a>}·{<a·id="n:235"·class="idref"·href="#n:235"><span·class="id"·title="binder">n</span></a>}·<a·id="le:236"·class="idref"·href="#le:236"><span·class="id"·title="binder">le</span></a>·(<a·id="v:237"·class="idref"·href="#v:237"><span·class="id"·title="binder">v</span></a>:<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:234"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:235"><span·class="id"·title="variable">n</span></a>),·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·0·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le:236"><span·class="id"·title="variable">le</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:237"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#4591d6c2b36fedc12d5b1c142546a37e"><span·class="id"·title="notation">[]</span></a>.<br/> | 
| Offset 270, 15 lines modified | Offset 270, 15 lines modified | ||
| 270 | <br/> | 270 | <br/> | 
| 271 | <span·class="id"·title="keyword">Lemma</span>·<a·id="take_prf_irr"·class="idref"·href="#take_prf_irr"><span·class="id"·title="lemma">take_prf_irr</span></a>·:·<span·class="id"·title="keyword">forall</span>·{<a·id="A:250"·class="idref"·href="#A:250"><span·class="id"·title="binder">A</span></a>}·<a·id="p:251"·class="idref"·href="#p:251"><span·class="id"·title="binder">p</span></a>·{<a·id="n:252"·class="idref"·href="#n:252"><span·class="id"·title="binder">n</span></a>}·(<a·id="v:253"·class="idref"·href="#v:253"><span·class="id"·title="binder">v</span></a>:<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:250"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:252"><span·class="id"·title="variable">n</span></a>)·<a·id="le:254"·class="idref"·href="#le:254"><span·class="id"·title="binder">le</span></a>·<a·id="le':255"·class="idref"·href="#le':255"><span·class="id"·title="binder">le'</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:251"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le:254"><span·class="id"·title="variable">le</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:253"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:251"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le':255"><span·class="id"·title="variable">le'</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:253"><span·class="id"·title="variable">v</span></a>.<br/> | 271 | <span·class="id"·title="keyword">Lemma</span>·<a·id="take_prf_irr"·class="idref"·href="#take_prf_irr"><span·class="id"·title="lemma">take_prf_irr</span></a>·:·<span·class="id"·title="keyword">forall</span>·{<a·id="A:250"·class="idref"·href="#A:250"><span·class="id"·title="binder">A</span></a>}·<a·id="p:251"·class="idref"·href="#p:251"><span·class="id"·title="binder">p</span></a>·{<a·id="n:252"·class="idref"·href="#n:252"><span·class="id"·title="binder">n</span></a>}·(<a·id="v:253"·class="idref"·href="#v:253"><span·class="id"·title="binder">v</span></a>:<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:250"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:252"><span·class="id"·title="variable">n</span></a>)·<a·id="le:254"·class="idref"·href="#le:254"><span·class="id"·title="binder">le</span></a>·<a·id="le':255"·class="idref"·href="#le':255"><span·class="id"·title="binder">le'</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:251"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le:254"><span·class="id"·title="variable">le</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:253"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:251"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le':255"><span·class="id"·title="variable">le'</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:253"><span·class="id"·title="variable">v</span></a>.<br/> | 
| 272 | <br/> | 272 | <br/> | 
| 273 | </div> | 273 | </div> | 
| 274 | <div·class="doc"> | 274 | <div·class="doc"> | 
| 275 | <a·id="lab | 275 | <a·id="lab1235"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">uncons</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">splitat</span></span></h2> | 
| 276 | </div> | 276 | </div> | 
| 277 | <div·class="code"> | 277 | <div·class="code"> | 
| 278 | <br/> | 278 | <br/> | 
| 279 | <span·class="id"·title="keyword">Lemma</span>·<a·id="uncons_cons"·class="idref"·href="#uncons_cons"><span·class="id"·title="lemma">uncons_cons</span></a>·{<a·id="A:256"·class="idref"·href="#A:256"><span·class="id"·title="binder">A</span></a>}·:·<span·class="id"·title="keyword">forall</span>·{<a·id="n:257"·class="idref"·href="#n:257"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>}·(<a·id="a:258"·class="idref"·href="#a:258"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:256"><span·class="id"·title="variable">A</span></a>)·(<a·id="v:259"·class="idref"·href="#v:259"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:256"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:257"><span·class="id"·title="variable">n</span></a>),<br/> | 279 | <span·class="id"·title="keyword">Lemma</span>·<a·id="uncons_cons"·class="idref"·href="#uncons_cons"><span·class="id"·title="lemma">uncons_cons</span></a>·{<a·id="A:256"·class="idref"·href="#A:256"><span·class="id"·title="binder">A</span></a>}·:·<span·class="id"·title="keyword">forall</span>·{<a·id="n:257"·class="idref"·href="#n:257"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>}·(<a·id="a:258"·class="idref"·href="#a:258"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:256"><span·class="id"·title="variable">A</span></a>)·(<a·id="v:259"·class="idref"·href="#v:259"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:256"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:257"><span·class="id"·title="variable">n</span></a>),<br/> | 
| 280 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#uncons"><span·class="id"·title="definition">uncons</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:258"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#VectorNotations.::vector_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:259"><span·class="id"·title="variable">v</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:258"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">,</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:259"><span·class="id"·title="variable">v</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">)</span></a>.<br/> | 280 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#uncons"><span·class="id"·title="definition">uncons</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:258"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#VectorNotations.::vector_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:259"><span·class="id"·title="variable">v</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:258"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">,</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:259"><span·class="id"·title="variable">v</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">)</span></a>.<br/> | 
| Offset 301, 28 lines modified | Offset 301, 28 lines modified | ||
| 301 | <span·class="id"·title="keyword">Lemma</span>·<a·id="append_inj"·class="idref"·href="#append_inj"><span·class="id"·title="lemma">append_inj</span></a>·{<a·id="A:277"·class="idref"·href="#A:277"><span·class="id"·title="binder">A</span></a>}·:·<span·class="id"·title="keyword">forall</span>·{<a·id="n:278"·class="idref"·href="#n:278"><span·class="id"·title="binder">n</span></a>·<a·id="m:279"·class="idref"·href="#m:279"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>}·(<a·id="v:280"·class="idref"·href="#v:280"><span·class="id"·title="binder">v</span></a>·<a·id="v':281"·class="idref"·href="#v':281"><span·class="id"·title="binder">v'</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:277"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:278"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:282"·class="idref"·href="#w:282"><span·class="id"·title="binder">w</span></a>·<a·id="w':283"·class="idref"·href="#w':283"><span·class="id"·title="binder">w'</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:277"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:279"><span·class="id"·title="variable">m</span></a>),<br/> | 301 | <span·class="id"·title="keyword">Lemma</span>·<a·id="append_inj"·class="idref"·href="#append_inj"><span·class="id"·title="lemma">append_inj</span></a>·{<a·id="A:277"·class="idref"·href="#A:277"><span·class="id"·title="binder">A</span></a>}·:·<span·class="id"·title="keyword">forall</span>·{<a·id="n:278"·class="idref"·href="#n:278"><span·class="id"·title="binder">n</span></a>·<a·id="m:279"·class="idref"·href="#m:279"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>}·(<a·id="v:280"·class="idref"·href="#v:280"><span·class="id"·title="binder">v</span></a>·<a·id="v':281"·class="idref"·href="#v':281"><span·class="id"·title="binder">v'</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:277"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:278"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:282"·class="idref"·href="#w:282"><span·class="id"·title="binder">w</span></a>·<a·id="w':283"·class="idref"·href="#w':283"><span·class="id"·title="binder">w'</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:277"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:279"><span·class="id"·title="variable">m</span></a>),<br/> | 
| 302 |   <a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:280"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:282"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v':281"><span·class="id"·title="variable">v'</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w':283"><span·class="id"·title="variable">w'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:280"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v':281"><span·class="id"·title="variable">v'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:282"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w':283"><span·class="id"·title="variable">w'</span></a>.<br/> | 302 |   <a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:280"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:282"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v':281"><span·class="id"·title="variable">v'</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w':283"><span·class="id"·title="variable">w'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:280"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v':281"><span·class="id"·title="variable">v'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:282"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w':283"><span·class="id"·title="variable">w'</span></a>.<br/> | 
| 303 | <br/> | 303 | <br/> | 
| 304 | </div> | 304 | </div> | 
| 305 | <div·class="doc"> | 305 | <div·class="doc"> | 
| 306 | <a·id="lab | 306 | <a·id="lab1236"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">In</span></span></h2> | 
| 307 | </div> | 307 | </div> | 
| 308 | <div·class="code"> | 308 | <div·class="code"> | 
| 309 | <br/> | 309 | <br/> | 
| 310 | <span·class="id"·title="keyword">Lemma</span>·<a·id="In_cons_iff"·class="idref"·href="#In_cons_iff"><span·class="id"·title="lemma">In_cons_iff</span></a>·<a·id="A:284"·class="idref"·href="#A:284"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:285"·class="idref"·href="#n:285"><span·class="id"·title="binder">n</span></a>·<a·id="a:286"·class="idref"·href="#a:286"><span·class="id"·title="binder">a</span></a>·<a·id="b:287"·class="idref"·href="#b:287"><span·class="id"·title="binder">b</span></a>·(<a·id="v:288"·class="idref"·href="#v:288"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:284"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:285"><span·class="id"·title="variable">n</span></a>),<br/> | 310 | <span·class="id"·title="keyword">Lemma</span>·<a·id="In_cons_iff"·class="idref"·href="#In_cons_iff"><span·class="id"·title="lemma">In_cons_iff</span></a>·<a·id="A:284"·class="idref"·href="#A:284"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:285"·class="idref"·href="#n:285"><span·class="id"·title="binder">n</span></a>·<a·id="a:286"·class="idref"·href="#a:286"><span·class="id"·title="binder">a</span></a>·<a·id="b:287"·class="idref"·href="#b:287"><span·class="id"·title="binder">b</span></a>·(<a·id="v:288"·class="idref"·href="#v:288"><span·class="id"·title="binder">v</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:284"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:285"><span·class="id"·title="variable">n</span></a>),<br/> | 
| 311 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:287"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#VectorNotations.::vector_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:288"><span·class="id"·title="variable">v</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:287"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:288"><span·class="id"·title="variable">v</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>.<br/> | 311 |   <a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:287"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#VectorNotations.::vector_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:288"><span·class="id"·title="variable">v</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:287"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:288"><span·class="id"·title="variable">v</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 312 | <br/> | 312 | <br/> | 
| 313 | </div> | 313 | </div> | 
| Max diff block lines reached; 18462/58802 bytes (31.40%) of diff not shown. | |||
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 |  <a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZProperties.html#"><span·class="id"·title="library">ZProperties</span></a>·<a·class="idref"·href="Coq.Classes.DecidableClass.html#"><span·class="id"·title="library">DecidableClass</span></a>.<br/> | 51 |  <a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZProperties.html#"><span·class="id"·title="library">ZProperties</span></a>·<a·class="idref"·href="Coq.Classes.DecidableClass.html#"><span·class="id"·title="library">DecidableClass</span></a>.<br/> | 
| 52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#"><span·class="id"·title="library">BinIntDef</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#"><span·class="id"·title="library">BinIntDef</span></a>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab756"></a><h1·class="section">Binary·Integers</h1> | 
| 57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> | 
| 58 | ·Initial·author:·Pierre·Crégut,·CNET,·Lannion,·France· | 58 | ·Initial·author:·Pierre·Crégut,·CNET,·Lannion,·France· | 
| 59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> | 
| 60 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">Z0</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Zpos</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Zneg</span></span> | 60 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">Z0</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Zpos</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Zneg</span></span> | 
| Offset 86, 15 lines modified | Offset 86, 15 lines modified | ||
| 86 |  <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> | 86 |  <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> | 
| 87 |  <:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>.<br/> | 87 |  <:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>.<br/> | 
| 88 | <br/> | 88 | <br/> | 
| 89 | </div> | 89 | </div> | 
| 90 | <div·class="doc"> | 90 | <div·class="doc"> | 
| 91 | <a·id="lab | 91 | <a·id="lab757"></a><h1·class="section">Definitions·of·operations,·now·in·a·separate·file</h1> | 
| 92 | </div> | 92 | </div> | 
| 93 | <div·class="code"> | 93 | <div·class="code"> | 
| 94 | <br/> | 94 | <br/> | 
| 95 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z"><span·class="id"·title="module">BinIntDef.Z</span></a>.<br/> | 95 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z"><span·class="id"·title="module">BinIntDef.Z</span></a>.<br/> | 
| Offset 118, 15 lines modified | Offset 118, 15 lines modified | ||
| 118 | <br/> | 118 | <br/> | 
| 119 | <br/> | 119 | <br/> | 
| 120 | </div> | 120 | </div> | 
| 121 | <div·class="doc"> | 121 | <div·class="doc"> | 
| 122 | <a·id="lab | 122 | <a·id="lab758"></a><h1·class="section">Logic·Predicates</h1> | 
| 123 | </div> | 123 | </div> | 
| 124 | <div·class="code"> | 124 | <div·class="code"> | 
| 125 | <br/> | 125 | <br/> | 
| 126 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq"·class="idref"·href="#Z.eq"><span·class="id"·title="definition">eq</span></a>·:=·@<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 126 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq"·class="idref"·href="#Z.eq"><span·class="id"·title="definition">eq</span></a>·:=·@<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 
| 127 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq_equiv"·class="idref"·href="#Z.eq_equiv"><span·class="id"·title="definition">eq_equiv</span></a>·:=·@<a·class="idref"·href="Coq.Classes.RelationClasses.html#eq_equivalence"><span·class="id"·title="instance">eq_equivalence</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 127 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq_equiv"·class="idref"·href="#Z.eq_equiv"><span·class="id"·title="definition">eq_equiv</span></a>·:=·@<a·class="idref"·href="Coq.Classes.RelationClasses.html#eq_equivalence"><span·class="id"·title="instance">eq_equivalence</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 
| Offset 168, 27 lines modified | Offset 168, 27 lines modified | ||
| 168 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">gtb</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.Z.gtb</span>.<br/> | 168 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">gtb</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.Z.gtb</span>.<br/> | 
| 169 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">eqb</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.Z.eqb</span>.<br/> | 169 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">eqb</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.Z.eqb</span>.<br/> | 
| 170 | <br/> | 170 | <br/> | 
| 171 | </div> | 171 | </div> | 
| 172 | <div·class="doc"> | 172 | <div·class="doc"> | 
| 173 | <a·id="lab | 173 | <a·id="lab759"></a><h1·class="section">Decidability·of·equality.</h1> | 
| 174 | </div> | 174 | </div> | 
| 175 | <div·class="code"> | 175 | <div·class="code"> | 
| 176 | <br/> | 176 | <br/> | 
| 177 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq_dec"·class="idref"·href="#Z.eq_dec"><span·class="id"·title="definition">eq_dec</span></a>·(<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·<a·id="y:17"·class="idref"·href="#y:17"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#y:17"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#y:17"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 177 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq_dec"·class="idref"·href="#Z.eq_dec"><span·class="id"·title="definition">eq_dec</span></a>·(<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·<a·id="y:17"·class="idref"·href="#y:17"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#y:17"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#y:17"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 178 | <br/> | 178 | <br/> | 
| 179 | </div> | 179 | </div> | 
| 180 | <div·class="doc"> | 180 | <div·class="doc"> | 
| 181 | <a·id="lab60 | 181 | <a·id="lab760"></a><h1·class="section">Proofs·of·morphisms,·obvious·since·eq·is·Leibniz</h1> | 
| 182 | </div> | 182 | </div> | 
| 183 | <div·class="code"> | 183 | <div·class="code"> | 
| 184 | <br/> | 184 | <br/> | 
| 185 | <span·class="id"·title="keyword">Local·Obligation</span>·<span·class="id"·title="keyword">Tactic</span>·:=·<span·class="id"·title="var">simpl_relation</span>.<br/> | 185 | <span·class="id"·title="keyword">Local·Obligation</span>·<span·class="id"·title="keyword">Tactic</span>·:=·<span·class="id"·title="var">simpl_relation</span>.<br/> | 
| 186 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.succ_wd"·class="idref"·href="#Z.succ_wd"><span·class="id"·title="definition">succ_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">succ</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> | 186 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.succ_wd"·class="idref"·href="#Z.succ_wd"><span·class="id"·title="definition">succ_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">succ</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> | 
| Offset 205, 15 lines modified | Offset 205, 15 lines modified | ||
| 205 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.pow_wd"·class="idref"·href="#Z.pow_wd"><span·class="id"·title="definition">pow_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.pow"><span·class="id"·title="definition">pow</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> | 205 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.pow_wd"·class="idref"·href="#Z.pow_wd"><span·class="id"·title="definition">pow_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.pow"><span·class="id"·title="definition">pow</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> | 
| 206 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.testbit_wd"·class="idref"·href="#Z.testbit_wd"><span·class="id"·title="definition">testbit_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.testbit"><span·class="id"·title="definition">testbit</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> | 206 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.testbit_wd"·class="idref"·href="#Z.testbit_wd"><span·class="id"·title="definition">testbit_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.testbit"><span·class="id"·title="definition">testbit</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> | 
| 207 | <br/> | 207 | <br/> | 
| 208 | </div> | 208 | </div> | 
| 209 | <div·class="doc"> | 209 | <div·class="doc"> | 
| 210 | <a·id="lab | 210 | <a·id="lab761"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">pos_sub</span></span></h1> | 
| 211 | <div·class="paragraph">·</div> | 211 | <div·class="paragraph">·</div> | 
| 212 | ·<span·class="inlinecode"><span·class="id"·title="var">pos_sub</span></span>·can·be·written·in·term·of·positive·comparison | 212 | ·<span·class="inlinecode"><span·class="id"·title="var">pos_sub</span></span>·can·be·written·in·term·of·positive·comparison | 
| 213 | ····and·subtraction·(cf.·earlier·definition·of·addition·of·Z)· | 213 | ····and·subtraction·(cf.·earlier·definition·of·addition·of·Z)· | 
| 214 | </div> | 214 | </div> | 
| 215 | <div·class="code"> | 215 | <div·class="code"> | 
| Offset 276, 15 lines modified | Offset 276, 15 lines modified | ||
| 276 | <br/> | 276 | <br/> | 
| 277 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="Z.Private_BootStrap"·class="idref"·href="#Z.Private_BootStrap"><span·class="id"·title="module">Private_BootStrap</span></a>.<br/> | 277 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="Z.Private_BootStrap"·class="idref"·href="#Z.Private_BootStrap"><span·class="id"·title="module">Private_BootStrap</span></a>.<br/> | 
| 278 | <br/> | 278 | <br/> | 
| 279 | </div> | 279 | </div> | 
| 280 | <div·class="doc"> | 280 | <div·class="doc"> | 
| 281 | <a·id="lab | 281 | <a·id="lab762"></a><h2·class="section">Operations·and·constants</h2> | 
| 282 | </div> | 282 | </div> | 
| 283 | <div·class="code"> | 283 | <div·class="code"> | 
| 284 | <br/> | 284 | <br/> | 
| 285 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.add_0_r"·class="idref"·href="#Z.Private_BootStrap.add_0_r"><span·class="id"·title="lemma">add_0_r</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:29"><span·class="id"·title="variable">n</span></a>.<br/> | 285 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.add_0_r"·class="idref"·href="#Z.Private_BootStrap.add_0_r"><span·class="id"·title="lemma">add_0_r</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:29"><span·class="id"·title="variable">n</span></a>.<br/> | 
| Offset 294, 51 lines modified | Offset 294, 51 lines modified | ||
| 294 | <br/> | 294 | <br/> | 
| 295 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.mul_1_l"·class="idref"·href="#Z.Private_BootStrap.mul_1_l"><span·class="id"·title="lemma">mul_1_l</span></a>·<a·id="n:31"·class="idref"·href="#n:31"><span·class="id"·title="binder">n</span></a>·:·1·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#6be75d73bb8cdf7491f5eca788592321"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:31"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:31"><span·class="id"·title="variable">n</span></a>.<br/> | 295 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.mul_1_l"·class="idref"·href="#Z.Private_BootStrap.mul_1_l"><span·class="id"·title="lemma">mul_1_l</span></a>·<a·id="n:31"·class="idref"·href="#n:31"><span·class="id"·title="binder">n</span></a>·:·1·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#6be75d73bb8cdf7491f5eca788592321"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:31"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:31"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 296 | <br/> | 296 | <br/> | 
| 297 | </div> | 297 | </div> | 
| 298 | <div·class="doc"> | 298 | <div·class="doc"> | 
| 299 | <a·id="lab | 299 | <a·id="lab763"></a><h2·class="section">Addition·is·commutative</h2> | 
| 300 | </div> | 300 | </div> | 
| 301 | <div·class="code"> | 301 | <div·class="code"> | 
| 302 | <br/> | 302 | <br/> | 
| 303 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.add_comm"·class="idref"·href="#Z.Private_BootStrap.add_comm"><span·class="id"·title="lemma">add_comm</span></a>·<a·id="n:32"·class="idref"·href="#n:32"><span·class="id"·title="binder">n</span></a>·<a·id="m:33"·class="idref"·href="#m:33"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:32"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#m:33"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#m:33"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:32"><span·class="id"·title="variable">n</span></a>.<br/> | 303 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.add_comm"·class="idref"·href="#Z.Private_BootStrap.add_comm"><span·class="id"·title="lemma">add_comm</span></a>·<a·id="n:32"·class="idref"·href="#n:32"><span·class="id"·title="binder">n</span></a>·<a·id="m:33"·class="idref"·href="#m:33"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:32"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#m:33"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#m:33"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:32"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 304 | <br/> | 304 | <br/> | 
| 305 | </div> | 305 | </div> | 
| 306 | <div·class="doc"> | 306 | <div·class="doc"> | 
| Max diff block lines reached; 77621/90272 bytes (85.99%) of diff not shown. | |||
| Offset 57, 15 lines modified | Offset 57, 15 lines modified | ||
| 57 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'1'"·class="idref"·href="#:::'1'"><span·class="id"·title="notation">"</span></a>1"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·1).<br/> | 57 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'1'"·class="idref"·href="#:::'1'"><span·class="id"·title="notation">"</span></a>1"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·1).<br/> | 
| 58 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'2'"·class="idref"·href="#:::'2'"><span·class="id"·title="notation">"</span></a>2"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·2).<br/> | 58 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'2'"·class="idref"·href="#:::'2'"><span·class="id"·title="notation">"</span></a>2"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·2).<br/> | 
| 59 | <br/> | 59 | <br/> | 
| 60 | </div> | 60 | </div> | 
| 61 | <div·class="doc"> | 61 | <div·class="doc"> | 
| 62 | <a·id="lab | 62 | <a·id="lab838"></a><h1·class="section">Binary·Integers,·Definitions·of·Operations</h1> | 
| 63 | <div·class="paragraph">·</div> | 63 | <div·class="paragraph">·</div> | 
| 64 | ·Initial·author:·Pierre·Crégut,·CNET,·Lannion,·France· | 64 | ·Initial·author:·Pierre·Crégut,·CNET,·Lannion,·France· | 
| 65 | </div> | 65 | </div> | 
| 66 | <div·class="code"> | 66 | <div·class="code"> | 
| Offset 75, 42 lines modified | Offset 75, 42 lines modified | ||
| 75 | <br/> | 75 | <br/> | 
| 76 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.t"·class="idref"·href="#Z.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 76 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.t"·class="idref"·href="#Z.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 
| 77 | <br/> | 77 | <br/> | 
| 78 | </div> | 78 | </div> | 
| 79 | <div·class="doc"> | 79 | <div·class="doc"> | 
| 80 | <a·id="lab | 80 | <a·id="lab839"></a><h2·class="section">Nicer·names·<span·class="inlinecode"><span·class="id"·title="var">Z.pos</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.neg</span></span>·for·constructors</h2> | 
| 81 | </div> | 81 | </div> | 
| 82 | <div·class="code"> | 82 | <div·class="code"> | 
| 83 | <br/> | 83 | <br/> | 
| 84 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.pos"·class="idref"·href="#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>.<br/> | 84 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.pos"·class="idref"·href="#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>.<br/> | 
| 85 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.neg"·class="idref"·href="#Z.neg"><span·class="id"·title="abbreviation">neg</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zneg"><span·class="id"·title="constructor">Zneg</span></a>.<br/> | 85 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.neg"·class="idref"·href="#Z.neg"><span·class="id"·title="abbreviation">neg</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zneg"><span·class="id"·title="constructor">Zneg</span></a>.<br/> | 
| 86 | <br/> | 86 | <br/> | 
| 87 | </div> | 87 | </div> | 
| 88 | <div·class="doc"> | 88 | <div·class="doc"> | 
| 89 | <a·id="lab | 89 | <a·id="lab840"></a><h2·class="section">Constants</h2> | 
| 90 | </div> | 90 | </div> | 
| 91 | <div·class="code"> | 91 | <div·class="code"> | 
| 92 | <br/> | 92 | <br/> | 
| 93 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.zero"·class="idref"·href="#Z.zero"><span·class="id"·title="definition">zero</span></a>·:=·0.<br/> | 93 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.zero"·class="idref"·href="#Z.zero"><span·class="id"·title="definition">zero</span></a>·:=·0.<br/> | 
| 94 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.one"·class="idref"·href="#Z.one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> | 94 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.one"·class="idref"·href="#Z.one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> | 
| 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.two"·class="idref"·href="#Z.two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> | 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.two"·class="idref"·href="#Z.two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> | 
| 96 | <br/> | 96 | <br/> | 
| 97 | </div> | 97 | </div> | 
| 98 | <div·class="doc"> | 98 | <div·class="doc"> | 
| 99 | <a·id="lab | 99 | <a·id="lab841"></a><h2·class="section">Doubling·and·variants</h2> | 
| 100 | </div> | 100 | </div> | 
| 101 | <div·class="code"> | 101 | <div·class="code"> | 
| 102 | <br/> | 102 | <br/> | 
| 103 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.double"·class="idref"·href="#Z.double"><span·class="id"·title="definition">double</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> | 103 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.double"·class="idref"·href="#Z.double"><span·class="id"·title="definition">double</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> | 
| 104 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 104 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 135, 15 lines modified | Offset 135, 15 lines modified | ||
| 135 |     |·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">Pos.pred_double</span></a>·<span·class="id"·title="var">p</span>)<br/> | 135 |     |·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">Pos.pred_double</span></a>·<span·class="id"·title="var">p</span>)<br/> | 
| 136 |   <span·class="id"·title="keyword">end</span>.<br/> | 136 |   <span·class="id"·title="keyword">end</span>.<br/> | 
| 137 | <br/> | 137 | <br/> | 
| 138 | </div> | 138 | </div> | 
| 139 | <div·class="doc"> | 139 | <div·class="doc"> | 
| 140 | <a·id="lab | 140 | <a·id="lab842"></a><h2·class="section">Subtraction·of·positive·into·Z</h2> | 
| 141 | </div> | 141 | </div> | 
| 142 | <div·class="code"> | 142 | <div·class="code"> | 
| 143 | <br/> | 143 | <br/> | 
| 144 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Z.pos_sub"·class="idref"·href="#Z.pos_sub"><span·class="id"·title="definition">pos_sub</span></a>·(<a·id="x:7"·class="idref"·href="#x:7"><span·class="id"·title="binder">x</span></a>·<a·id="y:8"·class="idref"·href="#y:8"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">y</span>}·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=<br/> | 144 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Z.pos_sub"·class="idref"·href="#Z.pos_sub"><span·class="id"·title="definition">pos_sub</span></a>·(<a·id="x:7"·class="idref"·href="#x:7"><span·class="id"·title="binder">x</span></a>·<a·id="y:8"·class="idref"·href="#y:8"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">y</span>}·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=<br/> | 
| 145 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:7"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#y:8"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 145 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:7"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#y:8"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 158, 15 lines modified | Offset 158, 15 lines modified | ||
| 158 |     |·1,·1·=>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z0"><span·class="id"·title="constructor">Z0</span></a><br/> | 158 |     |·1,·1·=>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z0"><span·class="id"·title="constructor">Z0</span></a><br/> | 
| 159 |   <span·class="id"·title="keyword">end</span>%<span·class="id"·title="var">positive</span>.<br/> | 159 |   <span·class="id"·title="keyword">end</span>%<span·class="id"·title="var">positive</span>.<br/> | 
| 160 | <br/> | 160 | <br/> | 
| 161 | </div> | 161 | </div> | 
| 162 | <div·class="doc"> | 162 | <div·class="doc"> | 
| 163 | <a·id="lab | 163 | <a·id="lab843"></a><h2·class="section">Addition</h2> | 
| 164 | </div> | 164 | </div> | 
| 165 | <div·class="code"> | 165 | <div·class="code"> | 
| 166 | <br/> | 166 | <br/> | 
| 167 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.add"·class="idref"·href="#Z.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>·<a·id="y:13"·class="idref"·href="#y:13"><span·class="id"·title="binder">y</span></a>·:=<br/> | 167 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.add"·class="idref"·href="#Z.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>·<a·id="y:13"·class="idref"·href="#y:13"><span·class="id"·title="binder">y</span></a>·:=<br/> | 
| 168 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:12"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#y:13"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 168 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:12"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#y:13"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 181, 15 lines modified | Offset 181, 15 lines modified | ||
| 181 | <br/> | 181 | <br/> | 
| 182 | <span·class="id"·title="keyword">Infix</span>·<a·id="227c8238350fd4cd476071826da76987"·class="idref"·href="#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.add"><span·class="id"·title="definition">add</span></a>·:·<span·class="id"·title="var">Z_scope</span>.<br/> | 182 | <span·class="id"·title="keyword">Infix</span>·<a·id="227c8238350fd4cd476071826da76987"·class="idref"·href="#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.add"><span·class="id"·title="definition">add</span></a>·:·<span·class="id"·title="var">Z_scope</span>.<br/> | 
| 183 | <br/> | 183 | <br/> | 
| 184 | </div> | 184 | </div> | 
| 185 | <div·class="doc"> | 185 | <div·class="doc"> | 
| 186 | <a·id="lab | 186 | <a·id="lab844"></a><h2·class="section">Opposite</h2> | 
| 187 | </div> | 187 | </div> | 
| 188 | <div·class="code"> | 188 | <div·class="code"> | 
| 189 | <br/> | 189 | <br/> | 
| 190 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.opp"·class="idref"·href="#Z.opp"><span·class="id"·title="definition">opp</span></a>·<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·:=<br/> | 190 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.opp"·class="idref"·href="#Z.opp"><span·class="id"·title="definition">opp</span></a>·<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·:=<br/> | 
| 191 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:16"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 191 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:16"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 201, 54 lines modified | Offset 201, 54 lines modified | ||
| 201 | <br/> | 201 | <br/> | 
| 202 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.::Z_scope:'-'_x"·class="idref"·href="#Z.::Z_scope:'-'_x"><span·class="id"·title="notation">"</span></a>-·x"·:=·(<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.opp"><span·class="id"·title="definition">opp</span></a>·<span·class="id"·title="var">x</span>)·:·<span·class="id"·title="var">Z_scope</span>.<br/> | 202 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.::Z_scope:'-'_x"·class="idref"·href="#Z.::Z_scope:'-'_x"><span·class="id"·title="notation">"</span></a>-·x"·:=·(<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.opp"><span·class="id"·title="definition">opp</span></a>·<span·class="id"·title="var">x</span>)·:·<span·class="id"·title="var">Z_scope</span>.<br/> | 
| 203 | <br/> | 203 | <br/> | 
| 204 | </div> | 204 | </div> | 
| 205 | <div·class="doc"> | 205 | <div·class="doc"> | 
| 206 | <a·id="lab | 206 | <a·id="lab845"></a><h2·class="section">Successor</h2> | 
| 207 | </div> | 207 | </div> | 
| 208 | <div·class="code"> | 208 | <div·class="code"> | 
| 209 | <br/> | 209 | <br/> | 
| 210 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.succ"·class="idref"·href="#Z.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="x:18"·class="idref"·href="#x:18"><span·class="id"·title="binder">x</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·1.<br/> | 210 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.succ"·class="idref"·href="#Z.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="x:18"·class="idref"·href="#x:18"><span·class="id"·title="binder">x</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·1.<br/> | 
| 211 | <br/> | 211 | <br/> | 
| 212 | </div> | 212 | </div> | 
| 213 | <div·class="doc"> | 213 | <div·class="doc"> | 
| 214 | <a·id="lab | 214 | <a·id="lab846"></a><h2·class="section">Predecessor</h2> | 
| Max diff block lines reached; 25271/33882 bytes (74.59%) of diff not shown. | |||
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab801"></a><h1·class="section">An·light·axiomatization·of·integers·(used·in·MSetAVL).</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·We·define·a·signature·for·an·integer·datatype·based·on·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>. | 51 | ·We·define·a·signature·for·an·integer·datatype·based·on·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>. | 
| 52 | ····The·goal·is·to·allow·a·switch·after·extraction·to·ocaml's | 52 | ····The·goal·is·to·allow·a·switch·after·extraction·to·ocaml's | 
| 53 | ····<span·class="inlinecode"><span·class="id"·title="var">big_int</span></span>·or·even·<span·class="inlinecode"><span·class="id"·title="var">int</span></span>·when·finiteness·isn't·a·problem | 53 | ····<span·class="inlinecode"><span·class="id"·title="var">big_int</span></span>·or·even·<span·class="inlinecode"><span·class="id"·title="var">int</span></span>·when·finiteness·isn't·a·problem | 
| 54 | ····(typically·:·when·measuring·the·height·of·an·AVL·tree). | 54 | ····(typically·:·when·measuring·the·height·of·an·AVL·tree). | 
| Offset 70, 15 lines modified | Offset 70, 15 lines modified | ||
| 70 | <br/> | 70 | <br/> | 
| 71 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">bool</span>.<br/> | 71 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">bool</span>.<br/> | 
| 72 | <br/> | 72 | <br/> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="doc"> | 74 | <div·class="doc"> | 
| 75 | <a·id="lab | 75 | <a·id="lab802"></a><h1·class="section">A·specification·of·integers</h1> | 
| 76 | </div> | 76 | </div> | 
| 77 | <div·class="code"> | 77 | <div·class="code"> | 
| 78 | <br/> | 78 | <br/> | 
| 79 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Int"·class="idref"·href="#Int"><span·class="id"·title="module">Int</span></a>.<br/> | 79 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Int"·class="idref"·href="#Int"><span·class="id"·title="module">Int</span></a>.<br/> | 
| Offset 206, 15 lines modified | Offset 206, 15 lines modified | ||
| 206 | <br/> | 206 | <br/> | 
| 207 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>.<br/> | 207 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>.<br/> | 
| 208 | <br/> | 208 | <br/> | 
| 209 | </div> | 209 | </div> | 
| 210 | <div·class="doc"> | 210 | <div·class="doc"> | 
| 211 | <a·id="lab | 211 | <a·id="lab803"></a><h1·class="section">Facts·and··tactics·using·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span></h1> | 
| 212 | </div> | 212 | </div> | 
| 213 | <div·class="code"> | 213 | <div·class="code"> | 
| 214 | <br/> | 214 | <br/> | 
| 215 | <span·class="id"·title="keyword">Module</span>·<a·id="MoreInt"·class="idref"·href="#MoreInt"><span·class="id"·title="module">MoreInt</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">I</span>:<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>).<br/> | 215 | <span·class="id"·title="keyword">Module</span>·<a·id="MoreInt"·class="idref"·href="#MoreInt"><span·class="id"·title="module">MoreInt</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">I</span>:<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>).<br/> | 
| 216 |   <span·class="id"·title="keyword">Local·Notation</span>·<a·id="MoreInt.int"·class="idref"·href="#MoreInt.int"><span·class="id"·title="abbreviation">int</span></a>·:=·<a·class="idref"·href="Coq.ZArith.Int.html#I.t"><span·class="id"·title="axiom">I.t</span></a>.<br/> | 216 |   <span·class="id"·title="keyword">Local·Notation</span>·<a·id="MoreInt.int"·class="idref"·href="#MoreInt.int"><span·class="id"·title="abbreviation">int</span></a>·:=·<a·class="idref"·href="Coq.ZArith.Int.html#I.t"><span·class="id"·title="axiom">I.t</span></a>.<br/> | 
| Offset 560, 15 lines modified | Offset 560, 15 lines modified | ||
| 560 | <br/> | 560 | <br/> | 
| 561 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Int.html#MoreInt"><span·class="id"·title="module">MoreInt</span></a>.<br/> | 561 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Int.html#MoreInt"><span·class="id"·title="module">MoreInt</span></a>.<br/> | 
| 562 | <br/> | 562 | <br/> | 
| 563 | </div> | 563 | </div> | 
| 564 | <div·class="doc"> | 564 | <div·class="doc"> | 
| 565 | <a·id="lab | 565 | <a·id="lab804"></a><h1·class="section">An·implementation·of·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span></h1> | 
| 566 | <div·class="paragraph">·</div> | 566 | <div·class="paragraph">·</div> | 
| 567 | ·It's·always·nice·to·know·that·our·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span>·interface·is·realizable·:-)· | 567 | ·It's·always·nice·to·know·that·our·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span>·interface·is·realizable·:-)· | 
| 568 | </div> | 568 | </div> | 
| 569 | <div·class="code"> | 569 | <div·class="code"> | 
| Offset 70, 15 lines modified | Offset 70, 15 lines modified | ||
| 70 | <br/> | 70 | <br/> | 
| 71 |   <span·class="id"·title="keyword">Variables</span>·<a·id="decidability.x"·class="idref"·href="#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·id="decidability.y"·class="idref"·href="#decidability.y"><span·class="id"·title="variable">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 71 |   <span·class="id"·title="keyword">Variables</span>·<a·id="decidability.x"·class="idref"·href="#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·id="decidability.y"·class="idref"·href="#decidability.y"><span·class="id"·title="variable">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 
| 72 | <br/> | 72 | <br/> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="doc"> | 74 | <div·class="doc"> | 
| 75 | <a·id="lab | 75 | <a·id="lab753"></a><h1·class="section">Decidability·of·order·on·binary·integers</h1> | 
| 76 | </div> | 76 | </div> | 
| 77 | <div·class="code"> | 77 | <div·class="code"> | 
| 78 | <br/> | 78 | <br/> | 
| 79 |   <span·class="id"·title="keyword">Definition</span>·<a·id="Z_lt_dec"·class="idref"·href="#Z_lt_dec"><span·class="id"·title="definition">Z_lt_dec</span></a>·:·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.y"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.y"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 79 |   <span·class="id"·title="keyword">Definition</span>·<a·id="Z_lt_dec"·class="idref"·href="#Z_lt_dec"><span·class="id"·title="definition">Z_lt_dec</span></a>·:·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.y"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.y"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 
| Offset 112, 15 lines modified | Offset 112, 15 lines modified | ||
| 112 | <br/> | 112 | <br/> | 
| 113 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability"><span·class="id"·title="section">decidability</span></a>.<br/> | 113 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability"><span·class="id"·title="section">decidability</span></a>.<br/> | 
| 114 | <br/> | 114 | <br/> | 
| 115 | </div> | 115 | </div> | 
| 116 | <div·class="doc"> | 116 | <div·class="doc"> | 
| 117 | <a·id="lab | 117 | <a·id="lab754"></a><h1·class="section">Cotransitivity·of·order·on·binary·integers</h1> | 
| 118 | </div> | 118 | </div> | 
| 119 | <div·class="code"> | 119 | <div·class="code"> | 
| 120 | <br/> | 120 | <br/> | 
| 121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zlt_cotrans"·class="idref"·href="#Zlt_cotrans"><span·class="id"·title="lemma">Zlt_cotrans</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:12"·class="idref"·href="#n:12"><span·class="id"·title="binder">n</span></a>·<a·id="m:13"·class="idref"·href="#m:13"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#n:12"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#m:13"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="p:14"·class="idref"·href="#p:14"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.ZArith_dec.html#n:12"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#p:14"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.ZArith_dec.html#p:14"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#m:13"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zlt_cotrans"·class="idref"·href="#Zlt_cotrans"><span·class="id"·title="lemma">Zlt_cotrans</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:12"·class="idref"·href="#n:12"><span·class="id"·title="binder">n</span></a>·<a·id="m:13"·class="idref"·href="#m:13"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#n:12"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#m:13"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="p:14"·class="idref"·href="#p:14"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.ZArith_dec.html#n:12"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#p:14"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.ZArith_dec.html#p:14"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#m:13"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 
| Offset 70, 15 lines modified | Offset 70, 15 lines modified | ||
| 70 | <br/> | 70 | <br/> | 
| 71 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 71 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 
| 72 | <br/> | 72 | <br/> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="doc"> | 74 | <div·class="doc"> | 
| 75 | <a·id="lab | 75 | <a·id="lab815"></a><h1·class="section">Properties·of·absolute·value</h1> | 
| 76 | </div> | 76 | </div> | 
| 77 | <div·class="code"> | 77 | <div·class="code"> | 
| 78 | <br/> | 78 | <br/> | 
| 79 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_non_eq"·class="idref"·href="#Zabs_non_eq"><span·class="id"·title="abbreviation">Zabs_non_eq</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_neq"><span·class="id"·title="lemma">Z.abs_neq</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 79 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_non_eq"·class="idref"·href="#Zabs_non_eq"><span·class="id"·title="abbreviation">Zabs_non_eq</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_neq"><span·class="id"·title="lemma">Z.abs_neq</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 80 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zopp"·class="idref"·href="#Zabs_Zopp"><span·class="id"·title="abbreviation">Zabs_Zopp</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_opp"><span·class="id"·title="lemma">Z.abs_opp</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 80 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zopp"·class="idref"·href="#Zabs_Zopp"><span·class="id"·title="abbreviation">Zabs_Zopp</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_opp"><span·class="id"·title="lemma">Z.abs_opp</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| Offset 88, 15 lines modified | Offset 88, 15 lines modified | ||
| 88 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zsgn"·class="idref"·href="#Zabs_Zsgn"><span·class="id"·title="abbreviation">Zabs_Zsgn</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_sgn"><span·class="id"·title="lemma">Z.abs_sgn</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 88 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zsgn"·class="idref"·href="#Zabs_Zsgn"><span·class="id"·title="abbreviation">Zabs_Zsgn</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_sgn"><span·class="id"·title="lemma">Z.abs_sgn</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 89 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zmult"·class="idref"·href="#Zabs_Zmult"><span·class="id"·title="abbreviation">Zabs_Zmult</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_mul"><span·class="id"·title="lemma">Z.abs_mul</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 89 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zmult"·class="idref"·href="#Zabs_Zmult"><span·class="id"·title="abbreviation">Zabs_Zmult</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_mul"><span·class="id"·title="lemma">Z.abs_mul</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 90 | <br/> | 90 | <br/> | 
| 91 | </div> | 91 | </div> | 
| 92 | <div·class="doc"> | 92 | <div·class="doc"> | 
| 93 | <a·id="lab | 93 | <a·id="lab816"></a><h1·class="section">Proving·a·property·of·the·absolute·value·by·cases</h1> | 
| 94 | </div> | 94 | </div> | 
| 95 | <div·class="code"> | 95 | <div·class="code"> | 
| 96 | <br/> | 96 | <br/> | 
| 97 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zabs_ind"·class="idref"·href="#Zabs_ind"><span·class="id"·title="lemma">Zabs_ind</span></a>·:<br/> | 97 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zabs_ind"·class="idref"·href="#Zabs_ind"><span·class="id"·title="lemma">Zabs_ind</span></a>·:<br/> | 
| 98 |   <span·class="id"·title="keyword">forall</span>·(<a·id="P:1"·class="idref"·href="#P:1"><span·class="id"·title="binder">P</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>),<br/> | 98 |   <span·class="id"·title="keyword">forall</span>·(<a·id="P:1"·class="idref"·href="#P:1"><span·class="id"·title="binder">P</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>),<br/> | 
| Offset 113, 15 lines modified | Offset 113, 15 lines modified | ||
| 113 |   0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a><br/> | 113 |   0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a><br/> | 
| 114 |   0·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>.<br/> | 114 |   0·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>.<br/> | 
| 115 | <br/> | 115 | <br/> | 
| 116 | </div> | 116 | </div> | 
| 117 | <div·class="doc"> | 117 | <div·class="doc"> | 
| 118 | <a·id="lab | 118 | <a·id="lab817"></a><h1·class="section">Some·results·about·the·sign·function.</h1> | 
| 119 | </div> | 119 | </div> | 
| 120 | <div·class="code"> | 120 | <div·class="code"> | 
| 121 | <br/> | 121 | <br/> | 
| 122 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsgn_Zmult"·class="idref"·href="#Zsgn_Zmult"><span·class="id"·title="abbreviation">Zsgn_Zmult</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn_mul"><span·class="id"·title="lemma">Z.sgn_mul</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 122 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsgn_Zmult"·class="idref"·href="#Zsgn_Zmult"><span·class="id"·title="abbreviation">Zsgn_Zmult</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn_mul"><span·class="id"·title="lemma">Z.sgn_mul</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 123 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsgn_Zopp"·class="idref"·href="#Zsgn_Zopp"><span·class="id"·title="abbreviation">Zsgn_Zopp</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn_opp"><span·class="id"·title="lemma">Z.sgn_opp</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 123 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsgn_Zopp"·class="idref"·href="#Zsgn_Zopp"><span·class="id"·title="abbreviation">Zsgn_Zopp</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn_opp"><span·class="id"·title="lemma">Z.sgn_opp</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| Offset 148, 21 lines modified | Offset 148, 21 lines modified | ||
| 148 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.lnot_sub"·class="idref"·href="#Z.lnot_sub"><span·class="id"·title="lemma">lnot_sub</span></a>·<a·id="x:18"·class="idref"·href="#x:18"><span·class="id"·title="binder">x</span></a>·<a·id="y:19"·class="idref"·href="#y:19"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.lnot"><span·class="id"·title="definition">Z.lnot</span></a>·(<a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:19"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.lnot"><span·class="id"·title="definition">Z.lnot</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:19"><span·class="id"·title="variable">y</span></a>.<br/> | 148 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.lnot_sub"·class="idref"·href="#Z.lnot_sub"><span·class="id"·title="lemma">lnot_sub</span></a>·<a·id="x:18"·class="idref"·href="#x:18"><span·class="id"·title="binder">x</span></a>·<a·id="y:19"·class="idref"·href="#y:19"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.lnot"><span·class="id"·title="definition">Z.lnot</span></a>·(<a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:19"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.lnot"><span·class="id"·title="definition">Z.lnot</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:19"><span·class="id"·title="variable">y</span></a>.<br/> | 
| 149 | · | 149 | · | 
| 150 | <br/> | 150 | <br/> | 
| 151 | </div> | 151 | </div> | 
| 152 | <div·class="doc"> | 152 | <div·class="doc"> | 
| 153 | Explicit·formulas·for·carry·bits·during·addition.·Conceptually,·the·theory | 153 | Explicit·formulas·for·carry·bits·during·addition.·Conceptually,·the·theory | 
| 154 | <a·id="lab | 154 | <a·id="lab796"></a><h1·class="section">here·matches·the·bitblasting·rules·for·integers.·However,·the·vector·of</h1> | 
| 155 | <a·id="lab | 155 | <a·id="lab797"></a><h1·class="section">carry·bits·is·represented·as·a·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·so·it·can·be·used·in·bitwise·operations.</h1> | 
| 156 | <a·id="lab | 156 | <a·id="lab798"></a><h1·class="section">The·last·three·lemmas·about·<span·class="inlinecode"><span·class="id"·title="var">addcarries</span></span>·are·the·main·interface,·but·the</h1> | 
| 157 | <a·id="lab | 157 | <a·id="lab799"></a><h1·class="section">generalization·<span·class="inlinecode"><span·class="id"·title="var">adccarries</span></span>·is·provided·as·the·same·theory·applies.</h1> | 
| 158 | </div> | 158 | </div> | 
| 159 | <div·class="code"> | 159 | <div·class="code"> | 
| 160 | <br/> | 160 | <br/> | 
| 161 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.adccarries"·class="idref"·href="#Z.adccarries"><span·class="id"·title="definition">adccarries</span></a>·(<a·id="x:20"·class="idref"·href="#x:20"><span·class="id"·title="binder">x</span></a>·<a·id="y:21"·class="idref"·href="#y:21"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·(<a·id="c:22"·class="idref"·href="#c:22"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·:=·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:21"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.b2z"><span·class="id"·title="definition">Z.b2z</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#c:22"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:21"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>.<br/> | 161 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.adccarries"·class="idref"·href="#Z.adccarries"><span·class="id"·title="definition">adccarries</span></a>·(<a·id="x:20"·class="idref"·href="#x:20"><span·class="id"·title="binder">x</span></a>·<a·id="y:21"·class="idref"·href="#y:21"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·(<a·id="c:22"·class="idref"·href="#c:22"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·:=·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:21"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.b2z"><span·class="id"·title="definition">Z.b2z</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#c:22"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:21"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 162 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.addcarries"·class="idref"·href="#Z.addcarries"><span·class="id"·title="definition">addcarries</span></a>·(<a·id="x:23"·class="idref"·href="#x:23"><span·class="id"·title="binder">x</span></a>·<a·id="y:24"·class="idref"·href="#y:24"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)············:=·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:24"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>···········<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:24"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>.<br/> | 162 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.addcarries"·class="idref"·href="#Z.addcarries"><span·class="id"·title="definition">addcarries</span></a>·(<a·id="x:23"·class="idref"·href="#x:23"><span·class="id"·title="binder">x</span></a>·<a·id="y:24"·class="idref"·href="#y:24"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)············:=·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:24"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>···········<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:24"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>.<br/> | 
| Offset 56, 15 lines modified | Offset 56, 15 lines modified | ||
| 56 | <br/> | 56 | <br/> | 
| 57 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 57 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 
| 58 | <br/> | 58 | <br/> | 
| 59 | </div> | 59 | </div> | 
| 60 | <div·class="doc"> | 60 | <div·class="doc"> | 
| 61 | <a·id="lab | 61 | <a·id="lab836"></a><h1·class="section">Boolean·operations·from·decidability·of·order</h1> | 
| 62 | ·The·decidability·of·equality·and·order·relations·over | 62 | ·The·decidability·of·equality·and·order·relations·over | 
| 63 | ····type·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·gives·some·boolean·functions·with·the·adequate·specification.· | 63 | ····type·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·gives·some·boolean·functions·with·the·adequate·specification.· | 
| 64 | </div> | 64 | </div> | 
| 65 | <div·class="code"> | 65 | <div·class="code"> | 
| 66 | <br/> | 66 | <br/> | 
| 67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z_lt_ge_bool"·class="idref"·href="#Z_lt_ge_bool"><span·class="id"·title="definition">Z_lt_ge_bool</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:=·<a·class="idref"·href="Coq.Bool.Sumbool.html#bool_of_sumbool"><span·class="id"·title="definition">bool_of_sumbool</span></a>·(<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#Z_lt_ge_dec"><span·class="id"·title="definition">Z_lt_ge_dec</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#y:2"><span·class="id"·title="variable">y</span></a>).<br/> | 67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z_lt_ge_bool"·class="idref"·href="#Z_lt_ge_bool"><span·class="id"·title="definition">Z_lt_ge_bool</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:=·<a·class="idref"·href="Coq.Bool.Sumbool.html#bool_of_sumbool"><span·class="id"·title="definition">bool_of_sumbool</span></a>·(<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#Z_lt_ge_dec"><span·class="id"·title="definition">Z_lt_ge_dec</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#y:2"><span·class="id"·title="variable">y</span></a>).<br/> | 
| Offset 81, 15 lines modified | Offset 81, 15 lines modified | ||
| 81 | <br/> | 81 | <br/> | 
| 82 | <span·class="id"·title="keyword">Definition</span>·<a·id="Zeven_odd_bool"·class="idref"·href="#Zeven_odd_bool"><span·class="id"·title="definition">Zeven_odd_bool</span></a>·(<a·id="x:13"·class="idref"·href="#x:13"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:=·<a·class="idref"·href="Coq.Bool.Sumbool.html#bool_of_sumbool"><span·class="id"·title="definition">bool_of_sumbool</span></a>·(<a·class="idref"·href="Coq.ZArith.Zeven.html#Zeven_odd_dec"><span·class="id"·title="definition">Zeven_odd_dec</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#x:13"><span·class="id"·title="variable">x</span></a>).<br/> | 82 | <span·class="id"·title="keyword">Definition</span>·<a·id="Zeven_odd_bool"·class="idref"·href="#Zeven_odd_bool"><span·class="id"·title="definition">Zeven_odd_bool</span></a>·(<a·id="x:13"·class="idref"·href="#x:13"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:=·<a·class="idref"·href="Coq.Bool.Sumbool.html#bool_of_sumbool"><span·class="id"·title="definition">bool_of_sumbool</span></a>·(<a·class="idref"·href="Coq.ZArith.Zeven.html#Zeven_odd_dec"><span·class="id"·title="definition">Zeven_odd_dec</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#x:13"><span·class="id"·title="variable">x</span></a>).<br/> | 
| 83 | <br/> | 83 | <br/> | 
| 84 | </div> | 84 | </div> | 
| 85 | <div·class="doc"> | 85 | <div·class="doc"> | 
| 86 | <a·id="lab | 86 | <a·id="lab837"></a><h1·class="section">Boolean·comparisons·of·binary·integers</h1> | 
| 87 | </div> | 87 | </div> | 
| 88 | <div·class="code"> | 88 | <div·class="code"> | 
| 89 | <br/> | 89 | <br/> | 
| 90 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zle_bool"·class="idref"·href="#Zle_bool"><span·class="id"·title="abbreviation">Zle_bool</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.leb"><span·class="id"·title="definition">Z.leb</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 90 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zle_bool"·class="idref"·href="#Zle_bool"><span·class="id"·title="abbreviation">Zle_bool</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.leb"><span·class="id"·title="definition">Z.leb</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 91 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zge_bool"·class="idref"·href="#Zge_bool"><span·class="id"·title="abbreviation">Zge_bool</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.geb"><span·class="id"·title="definition">Z.geb</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 91 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zge_bool"·class="idref"·href="#Zge_bool"><span·class="id"·title="abbreviation">Zge_bool</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.geb"><span·class="id"·title="definition">Z.geb</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| Offset 64, 30 lines modified | Offset 64, 30 lines modified | ||
| 64 | <br/> | 64 | <br/> | 
| 65 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 65 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 
| 66 | <br/> | 66 | <br/> | 
| 67 | </div> | 67 | </div> | 
| 68 | <div·class="doc"> | 68 | <div·class="doc"> | 
| 69 | <a·id="lab | 69 | <a·id="lab828"></a><h1·class="section">Comparison·on·integers</h1> | 
| 70 | </div> | 70 | </div> | 
| 71 | <div·class="code"> | 71 | <div·class="code"> | 
| 72 | <br/> | 72 | <br/> | 
| 73 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_Lt_antisym"·class="idref"·href="#Zcompare_Gt_Lt_antisym"><span·class="id"·title="lemma">Zcompare_Gt_Lt_antisym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:2"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:1"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> | 73 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_Lt_antisym"·class="idref"·href="#Zcompare_Gt_Lt_antisym"><span·class="id"·title="lemma">Zcompare_Gt_Lt_antisym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:2"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:1"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> | 
| 74 | <br/> | 74 | <br/> | 
| 75 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_antisym"·class="idref"·href="#Zcompare_antisym"><span·class="id"·title="lemma">Zcompare_antisym</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·<a·id="m:4"·class="idref"·href="#m:4"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#CompOpp"><span·class="id"·title="definition">CompOpp</span></a>·(<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:4"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:3"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 75 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_antisym"·class="idref"·href="#Zcompare_antisym"><span·class="id"·title="lemma">Zcompare_antisym</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·<a·id="m:4"·class="idref"·href="#m:4"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#CompOpp"><span·class="id"·title="definition">CompOpp</span></a>·(<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:4"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:3"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 76 | <br/> | 76 | <br/> | 
| 77 | </div> | 77 | </div> | 
| 78 | <div·class="doc"> | 78 | <div·class="doc"> | 
| 79 | <a·id="lab | 79 | <a·id="lab829"></a><h1·class="section">Transitivity·of·comparison</h1> | 
| 80 | </div> | 80 | </div> | 
| 81 | <div·class="code"> | 81 | <div·class="code"> | 
| 82 | <br/> | 82 | <br/> | 
| 83 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Lt_trans"·class="idref"·href="#Zcompare_Lt_trans"><span·class="id"·title="lemma">Zcompare_Lt_trans</span></a>·:<br/> | 83 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Lt_trans"·class="idref"·href="#Zcompare_Lt_trans"><span·class="id"·title="lemma">Zcompare_Lt_trans</span></a>·:<br/> | 
| 84 |   <span·class="id"·title="keyword">forall</span>·<a·id="n:5"·class="idref"·href="#n:5"><span·class="id"·title="binder">n</span></a>·<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·<a·id="p:7"·class="idref"·href="#p:7"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:5"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:6"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:6"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:7"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:5"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:7"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> | 84 |   <span·class="id"·title="keyword">forall</span>·<a·id="n:5"·class="idref"·href="#n:5"><span·class="id"·title="binder">n</span></a>·<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·<a·id="p:7"·class="idref"·href="#p:7"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:5"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:6"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:6"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:7"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:5"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:7"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> | 
| Offset 96, 39 lines modified | Offset 96, 39 lines modified | ||
| 96 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_trans"·class="idref"·href="#Zcompare_Gt_trans"><span·class="id"·title="lemma">Zcompare_Gt_trans</span></a>·:<br/> | 96 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_trans"·class="idref"·href="#Zcompare_Gt_trans"><span·class="id"·title="lemma">Zcompare_Gt_trans</span></a>·:<br/> | 
| 97 |   <span·class="id"·title="keyword">forall</span>·<a·id="n:8"·class="idref"·href="#n:8"><span·class="id"·title="binder">n</span></a>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>·<a·id="p:10"·class="idref"·href="#p:10"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:8"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:9"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:9"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:10"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:8"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:10"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>.<br/> | 97 |   <span·class="id"·title="keyword">forall</span>·<a·id="n:8"·class="idref"·href="#n:8"><span·class="id"·title="binder">n</span></a>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>·<a·id="p:10"·class="idref"·href="#p:10"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:8"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:9"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:9"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:10"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:8"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:10"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>.<br/> | 
| 98 | <br/> | 98 | <br/> | 
| 99 | </div> | 99 | </div> | 
| 100 | <div·class="doc"> | 100 | <div·class="doc"> | 
| 101 | <a·id="lab | 101 | <a·id="lab830"></a><h1·class="section">Comparison·and·opposite</h1> | 
| 102 | </div> | 102 | </div> | 
| 103 | <div·class="code"> | 103 | <div·class="code"> | 
| 104 | <br/> | 104 | <br/> | 
| 105 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_opp"·class="idref"·href="#Zcompare_opp"><span·class="id"·title="lemma">Zcompare_opp</span></a>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>·<a·id="m:12"·class="idref"·href="#m:12"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:11"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:12"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:12"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:11"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 105 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_opp"·class="idref"·href="#Zcompare_opp"><span·class="id"·title="lemma">Zcompare_opp</span></a>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>·<a·id="m:12"·class="idref"·href="#m:12"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:11"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:12"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:12"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:11"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 106 | <br/> | 106 | <br/> | 
| 107 | </div> | 107 | </div> | 
| 108 | <div·class="doc"> | 108 | <div·class="doc"> | 
| 109 | <a·id="lab | 109 | <a·id="lab831"></a><h1·class="section">Comparison·first-order·specification</h1> | 
| 110 | </div> | 110 | </div> | 
| 111 | <div·class="code"> | 111 | <div·class="code"> | 
| 112 | <br/> | 112 | <br/> | 
| 113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_spec"·class="idref"·href="#Zcompare_Gt_spec"><span·class="id"·title="lemma">Zcompare_Gt_spec</span></a>·<a·id="n:13"·class="idref"·href="#n:13"><span·class="id"·title="binder">n</span></a>·<a·id="m:14"·class="idref"·href="#m:14"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:13"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:14"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>··<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="h:15"·class="idref"·href="#h:15"><span·class="id"·title="binder">h</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:13"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:14"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#h:15"><span·class="id"·title="variable">h</span></a>.<br/> | 113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_spec"·class="idref"·href="#Zcompare_Gt_spec"><span·class="id"·title="lemma">Zcompare_Gt_spec</span></a>·<a·id="n:13"·class="idref"·href="#n:13"><span·class="id"·title="binder">n</span></a>·<a·id="m:14"·class="idref"·href="#m:14"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:13"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:14"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>··<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="h:15"·class="idref"·href="#h:15"><span·class="id"·title="binder">h</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:13"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:14"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#h:15"><span·class="id"·title="variable">h</span></a>.<br/> | 
| 114 | <br/> | 114 | <br/> | 
| 115 | </div> | 115 | </div> | 
| 116 | <div·class="doc"> | 116 | <div·class="doc"> | 
| 117 | <a·id="lab | 117 | <a·id="lab832"></a><h1·class="section">Comparison·and·addition</h1> | 
| 118 | </div> | 118 | </div> | 
| 119 | <div·class="code"> | 119 | <div·class="code"> | 
| 120 | <br/> | 120 | <br/> | 
| 121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_plus_compat"·class="idref"·href="#Zcompare_plus_compat"><span·class="id"·title="lemma">Zcompare_plus_compat</span></a>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·<a·id="p:18"·class="idref"·href="#p:18"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#p:18"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:16"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:18"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:17"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:16"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:17"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_plus_compat"·class="idref"·href="#Zcompare_plus_compat"><span·class="id"·title="lemma">Zcompare_plus_compat</span></a>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·<a·id="p:18"·class="idref"·href="#p:18"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#p:18"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:16"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:18"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:17"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:16"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:17"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 
| Offset 142, 27 lines modified | Offset 142, 27 lines modified | ||
| 142 | <br/> | 142 | <br/> | 
| 143 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_not_Lt"·class="idref"·href="#Zcompare_Gt_not_Lt"><span·class="id"·title="lemma">Zcompare_Gt_not_Lt</span></a>·<a·id="n:25"·class="idref"·href="#n:25"><span·class="id"·title="binder">n</span></a>·<a·id="m:26"·class="idref"·href="#m:26"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:25"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:26"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:25"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:26"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>1<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> | 143 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_not_Lt"·class="idref"·href="#Zcompare_Gt_not_Lt"><span·class="id"·title="lemma">Zcompare_Gt_not_Lt</span></a>·<a·id="n:25"·class="idref"·href="#n:25"><span·class="id"·title="binder">n</span></a>·<a·id="m:26"·class="idref"·href="#m:26"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:25"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:26"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:25"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:26"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>1<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> | 
| 144 | <br/> | 144 | <br/> | 
| 145 | </div> | 145 | </div> | 
| 146 | <div·class="doc"> | 146 | <div·class="doc"> | 
| 147 | <a·id="lab | 147 | <a·id="lab833"></a><h1·class="section">Successor·and·comparison</h1> | 
| 148 | </div> | 148 | </div> | 
| 149 | <div·class="code"> | 149 | <div·class="code"> | 
| 150 | <br/> | 150 | <br/> | 
| 151 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_succ_compat"·class="idref"·href="#Zcompare_succ_compat"><span·class="id"·title="lemma">Zcompare_succ_compat</span></a>·<a·id="n:27"·class="idref"·href="#n:27"><span·class="id"·title="binder">n</span></a>·<a·id="m:28"·class="idref"·href="#m:28"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:27"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:28"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:27"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:28"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 151 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_succ_compat"·class="idref"·href="#Zcompare_succ_compat"><span·class="id"·title="lemma">Zcompare_succ_compat</span></a>·<a·id="n:27"·class="idref"·href="#n:27"><span·class="id"·title="binder">n</span></a>·<a·id="m:28"·class="idref"·href="#m:28"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:27"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:28"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:27"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:28"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 152 | <br/> | 152 | <br/> | 
| 153 | </div> | 153 | </div> | 
| 154 | <div·class="doc"> | 154 | <div·class="doc"> | 
| 155 | <a·id="lab | 155 | <a·id="lab834"></a><h1·class="section">Multiplication·and·comparison</h1> | 
| 156 | </div> | 156 | </div> | 
| 157 | <div·class="code"> | 157 | <div·class="code"> | 
| 158 | <br/> | 158 | <br/> | 
| 159 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_mult_compat"·class="idref"·href="#Zcompare_mult_compat"><span·class="id"·title="lemma">Zcompare_mult_compat</span></a>·:<br/> | 159 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_mult_compat"·class="idref"·href="#Zcompare_mult_compat"><span·class="id"·title="lemma">Zcompare_mult_compat</span></a>·:<br/> | 
| 160 |   <span·class="id"·title="keyword">forall</span>·(<a·id="p:29"·class="idref"·href="#p:29"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·(<a·id="n:30"·class="idref"·href="#n:30"><span·class="id"·title="binder">n</span></a>·<a·id="m:31"·class="idref"·href="#m:31"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>),·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:29"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:30"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:29"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:31"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:30"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:31"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 160 |   <span·class="id"·title="keyword">forall</span>·(<a·id="p:29"·class="idref"·href="#p:29"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·(<a·id="n:30"·class="idref"·href="#n:30"><span·class="id"·title="binder">n</span></a>·<a·id="m:31"·class="idref"·href="#m:31"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>),·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:29"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:30"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:29"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:31"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:30"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:31"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 
| Offset 175, 15 lines modified | Offset 175, 15 lines modified | ||
| 175 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_compare_compat_r"·class="idref"·href="#Zmult_compare_compat_r"><span·class="id"·title="lemma">Zmult_compare_compat_r</span></a>·<a·id="n:35"·class="idref"·href="#n:35"><span·class="id"·title="binder">n</span></a>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·<a·id="p:37"·class="idref"·href="#p:37"><span·class="id"·title="binder">p</span></a>·:<br/> | 175 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_compare_compat_r"·class="idref"·href="#Zmult_compare_compat_r"><span·class="id"·title="lemma">Zmult_compare_compat_r</span></a>·<a·id="n:35"·class="idref"·href="#n:35"><span·class="id"·title="binder">n</span></a>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·<a·id="p:37"·class="idref"·href="#p:37"><span·class="id"·title="binder">p</span></a>·:<br/> | 
| 176 |   <a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:36"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 176 |   <a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:36"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 177 | <br/> | 177 | <br/> | 
| 178 | </div> | 178 | </div> | 
| 179 | <div·class="doc"> | 179 | <div·class="doc"> | 
| 180 | <a·id="lab | 180 | <a·id="lab835"></a><h1·class="section">Relating·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode">?=</span>·<span·class="inlinecode"><span·class="id"·title="var">y</span></span>·to·<span·class="inlinecode">=</span>,·<span·class="inlinecode"><=</span>,·<span·class="inlinecode"><</span>,·<span·class="inlinecode">>=</span>·or·<span·class="inlinecode">></span></h1> | 
| 181 | </div> | 181 | </div> | 
| 182 | <div·class="code"> | 182 | <div·class="code"> | 
| 183 | <br/> | 183 | <br/> | 
| 184 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_elim"·class="idref"·href="#Zcompare_elim"><span·class="id"·title="lemma">Zcompare_elim</span></a>·:<br/> | 184 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_elim"·class="idref"·href="#Zcompare_elim"><span·class="id"·title="lemma">Zcompare_elim</span></a>·:<br/> | 
| 185 |   <span·class="id"·title="keyword">forall</span>·(<a·id="c1:38"·class="idref"·href="#c1:38"><span·class="id"·title="binder">c1</span></a>·<a·id="c2:39"·class="idref"·href="#c2:39"><span·class="id"·title="binder">c2</span></a>·<a·id="c3:40"·class="idref"·href="#c3:40"><span·class="id"·title="binder">c3</span></a>:<span·class="id"·title="keyword">Prop</span>)·(<a·id="n:41"·class="idref"·href="#n:41"><span·class="id"·title="binder">n</span></a>·<a·id="m:42"·class="idref"·href="#m:42"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>),<br/> | 185 |   <span·class="id"·title="keyword">forall</span>·(<a·id="c1:38"·class="idref"·href="#c1:38"><span·class="id"·title="binder">c1</span></a>·<a·id="c2:39"·class="idref"·href="#c2:39"><span·class="id"·title="binder">c2</span></a>·<a·id="c3:40"·class="idref"·href="#c3:40"><span·class="id"·title="binder">c3</span></a>:<span·class="id"·title="keyword">Prop</span>)·(<a·id="n:41"·class="idref"·href="#n:41"><span·class="id"·title="binder">n</span></a>·<a·id="m:42"·class="idref"·href="#m:42"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>),<br/> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab818"></a><h1·class="section">Euclidean·Division</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | ·Initial·Contribution·by·Claude·Marché·and·Xavier·Urbain· | 51 | ·Initial·Contribution·by·Claude·Marché·and·Xavier·Urbain· | 
| 52 | </div> | 52 | </div> | 
| 53 | <div·class="code"> | 53 | <div·class="code"> | 
| Offset 85, 15 lines modified | Offset 85, 15 lines modified | ||
| 85 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.17",<span·class="id"·title="var">note</span>="Use·Coq.ZArith.BinInt.Z.mod_neg_bound·instead")]<br/> | 85 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.17",<span·class="id"·title="var">note</span>="Use·Coq.ZArith.BinInt.Z.mod_neg_bound·instead")]<br/> | 
| 86 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zmod_neg_bound"·class="idref"·href="#Zmod_neg_bound"><span·class="id"·title="abbreviation">Zmod_neg_bound</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.mod_neg_bound"><span·class="id"·title="lemma">Z.mod_neg_bound</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 86 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zmod_neg_bound"·class="idref"·href="#Zmod_neg_bound"><span·class="id"·title="abbreviation">Zmod_neg_bound</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.mod_neg_bound"><span·class="id"·title="lemma">Z.mod_neg_bound</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 87 | <br/> | 87 | <br/> | 
| 88 | </div> | 88 | </div> | 
| 89 | <div·class="doc"> | 89 | <div·class="doc"> | 
| 90 | <a·id="lab | 90 | <a·id="lab819"></a><h1·class="section">Main·division·theorems</h1> | 
| 91 | <div·class="paragraph">·</div> | 91 | <div·class="paragraph">·</div> | 
| 92 | ·NB:·many·things·are·stated·twice·for·compatibility·reasons· | 92 | ·NB:·many·things·are·stated·twice·for·compatibility·reasons· | 
| 93 | </div> | 93 | </div> | 
| 94 | <div·class="code"> | 94 | <div·class="code"> | 
| Offset 234, 15 lines modified | Offset 234, 15 lines modified | ||
| 234 |  <span·class="id"·title="keyword">forall</span>·<a·id="a:60"·class="idref"·href="#a:60"><span·class="id"·title="binder">a</span></a>·<a·id="b:61"·class="idref"·href="#b:61"><span·class="id"·title="binder">b</span></a>·<a·id="q:62"·class="idref"·href="#q:62"><span·class="id"·title="binder">q</span></a>·<a·id="r:63"·class="idref"·href="#r:63"><span·class="id"·title="binder">r</span></a>,·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:61"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 234 |  <span·class="id"·title="keyword">forall</span>·<a·id="a:60"·class="idref"·href="#a:60"><span·class="id"·title="binder">a</span></a>·<a·id="b:61"·class="idref"·href="#b:61"><span·class="id"·title="binder">b</span></a>·<a·id="q:62"·class="idref"·href="#q:62"><span·class="id"·title="binder">q</span></a>·<a·id="r:63"·class="idref"·href="#r:63"><span·class="id"·title="binder">r</span></a>,·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:61"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 
| 235 |   <a·class="idref"·href="Coq.ZArith.Zdiv.html#a:60"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:61"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#q:62"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:60"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:61"><span·class="id"·title="variable">b</span></a>.<br/> | 235 |   <a·class="idref"·href="Coq.ZArith.Zdiv.html#a:60"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:61"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#q:62"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:60"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:61"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 236 | · | 236 | · | 
| 237 | <br/> | 237 | <br/> | 
| 238 | </div> | 238 | </div> | 
| 239 | <div·class="doc"> | 239 | <div·class="doc"> | 
| 240 | <a·id="lab | 240 | <a·id="lab820"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> | 
| 241 | </div> | 241 | </div> | 
| 242 | <div·class="code"> | 242 | <div·class="code"> | 
| 243 | <br/> | 243 | <br/> | 
| 244 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmod_0_l"·class="idref"·href="#Zmod_0_l"><span·class="id"·title="lemma">Zmod_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:64"·class="idref"·href="#a:64"><span·class="id"·title="binder">a</span></a>,·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:64"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> | 244 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmod_0_l"·class="idref"·href="#Zmod_0_l"><span·class="id"·title="lemma">Zmod_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:64"·class="idref"·href="#a:64"><span·class="id"·title="binder">a</span></a>,·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:64"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> | 
| Offset 290, 15 lines modified | Offset 290, 15 lines modified | ||
| 290 | <br/> | 290 | <br/> | 
| 291 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_div_mult_full"·class="idref"·href="#Z_div_mult_full"><span·class="id"·title="lemma">Z_div_mult_full</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:76"·class="idref"·href="#a:76"><span·class="id"·title="binder">a</span></a>·<a·id="b:77"·class="idref"·href="#b:77"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:77"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:76"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#b:77"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">)/</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#b:77"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:76"><span·class="id"·title="variable">a</span></a>.<br/> | 291 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_div_mult_full"·class="idref"·href="#Z_div_mult_full"><span·class="id"·title="lemma">Z_div_mult_full</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:76"·class="idref"·href="#a:76"><span·class="id"·title="binder">a</span></a>·<a·id="b:77"·class="idref"·href="#b:77"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:77"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:76"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#b:77"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">)/</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#b:77"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:76"><span·class="id"·title="variable">a</span></a>.<br/> | 
| 292 | <br/> | 292 | <br/> | 
| 293 | </div> | 293 | </div> | 
| 294 | <div·class="doc"> | 294 | <div·class="doc"> | 
| 295 | <a·id="lab | 295 | <a·id="lab821"></a><h1·class="section">Order·results·about·Z.modulo·and·Z.div</h1> | 
| 296 | </div> | 296 | </div> | 
| 297 | <div·class="code"> | 297 | <div·class="code"> | 
| 298 | <br/> | 298 | <br/> | 
| 299 | <br/> | 299 | <br/> | 
| Offset 448, 15 lines modified | Offset 448, 15 lines modified | ||
| 448 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zdiv_sgn"·class="idref"·href="#Zdiv_sgn"><span·class="id"·title="lemma">Zdiv_sgn</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:120"·class="idref"·href="#a:120"><span·class="id"·title="binder">a</span></a>·<a·id="b:121"·class="idref"·href="#b:121"><span·class="id"·title="binder">b</span></a>,<br/> | 448 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zdiv_sgn"·class="idref"·href="#Zdiv_sgn"><span·class="id"·title="lemma">Zdiv_sgn</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:120"·class="idref"·href="#a:120"><span·class="id"·title="binder">a</span></a>·<a·id="b:121"·class="idref"·href="#b:121"><span·class="id"·title="binder">b</span></a>,<br/> | 
| 449 |   0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·(<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:120"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#b:121"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:120"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:121"><span·class="id"·title="variable">b</span></a>.<br/> | 449 |   0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·(<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:120"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#b:121"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:120"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:121"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 450 | <br/> | 450 | <br/> | 
| 451 | </div> | 451 | </div> | 
| 452 | <div·class="doc"> | 452 | <div·class="doc"> | 
| 453 | <a·id="lab | 453 | <a·id="lab822"></a><h1·class="section">Relations·between·usual·operations·and·Z.modulo·and·Z.div</h1> | 
| 454 | </div> | 454 | </div> | 
| 455 | <div·class="code"> | 455 | <div·class="code"> | 
| 456 | <br/> | 456 | <br/> | 
| 457 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_mod_plus_full"·class="idref"·href="#Z_mod_plus_full"><span·class="id"·title="lemma">Z_mod_plus_full</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:122"·class="idref"·href="#a:122"><span·class="id"·title="binder">a</span></a>·<a·id="b:123"·class="idref"·href="#b:123"><span·class="id"·title="binder">b</span></a>·<a·id="c:124"·class="idref"·href="#c:124"><span·class="id"·title="binder">c</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:122"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:123"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#c:124"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#c:124"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:122"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#c:124"><span·class="id"·title="variable">c</span></a>.<br/> | 457 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_mod_plus_full"·class="idref"·href="#Z_mod_plus_full"><span·class="id"·title="lemma">Z_mod_plus_full</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:122"·class="idref"·href="#a:122"><span·class="id"·title="binder">a</span></a>·<a·id="b:123"·class="idref"·href="#b:123"><span·class="id"·title="binder">b</span></a>·<a·id="c:124"·class="idref"·href="#c:124"><span·class="id"·title="binder">c</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:122"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:123"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#c:124"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#c:124"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:122"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#c:124"><span·class="id"·title="variable">c</span></a>.<br/> | 
| 458 | · | 458 | · | 
| Offset 687, 15 lines modified | Offset 687, 15 lines modified | ||
| 687 | <br/> | 687 | <br/> | 
| 688 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zeven_mod"·class="idref"·href="#Zeven_mod"><span·class="id"·title="lemma">Zeven_mod</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:218"·class="idref"·href="#a:218"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.even"><span·class="id"·title="definition">Z.even</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:218"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#Zeq_bool"><span·class="id"·title="definition">Zeq_bool</span></a>·(<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:218"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·2)·0.<br/> | 688 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zeven_mod"·class="idref"·href="#Zeven_mod"><span·class="id"·title="lemma">Zeven_mod</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:218"·class="idref"·href="#a:218"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.even"><span·class="id"·title="definition">Z.even</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:218"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#Zeq_bool"><span·class="id"·title="definition">Zeq_bool</span></a>·(<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:218"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·2)·0.<br/> | 
| 689 | <br/> | 689 | <br/> | 
| 690 | </div> | 690 | </div> | 
| 691 | <div·class="doc"> | 691 | <div·class="doc"> | 
| 692 | <a·id="lab | 692 | <a·id="lab823"></a><h1·class="section">Compatibility</h1> | 
| 693 | <div·class="paragraph">·</div> | 693 | <div·class="paragraph">·</div> | 
| 694 | ·Weaker·results·kept·only·for·compatibility· | 694 | ·Weaker·results·kept·only·for·compatibility· | 
| 695 | </div> | 695 | </div> | 
| 696 | <div·class="code"> | 696 | <div·class="code"> | 
| Offset 723, 15 lines modified | Offset 723, 15 lines modified | ||
| 723 | <br/> | 723 | <br/> | 
| 724 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_mod_zero_opp"·class="idref"·href="#Z_mod_zero_opp"><span·class="id"·title="lemma">Z_mod_zero_opp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:233"·class="idref"·href="#a:233"><span·class="id"·title="binder">a</span></a>·<a·id="b:234"·class="idref"·href="#b:234"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:234"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:233"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:234"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:233"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:234"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> | 724 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_mod_zero_opp"·class="idref"·href="#Z_mod_zero_opp"><span·class="id"·title="lemma">Z_mod_zero_opp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:233"·class="idref"·href="#a:233"><span·class="id"·title="binder">a</span></a>·<a·id="b:234"·class="idref"·href="#b:234"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:234"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:233"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:234"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:233"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:234"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> | 
| 725 | <br/> | 725 | <br/> | 
| 726 | </div> | 726 | </div> | 
| 727 | <div·class="doc"> | 727 | <div·class="doc"> | 
| 728 | <a·id="lab | 728 | <a·id="lab824"></a><h1·class="section">A·direct·way·to·compute·Z.modulo</h1> | 
| 729 | </div> | 729 | </div> | 
| 730 | <div·class="code"> | 730 | <div·class="code"> | 
| 731 | <br/> | 731 | <br/> | 
| 732 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Zmod_POS"·class="idref"·href="#Zmod_POS"><span·class="id"·title="definition">Zmod_POS</span></a>·(<a·id="a:235"·class="idref"·href="#a:235"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·(<a·id="b:236"·class="idref"·href="#b:236"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>··:=<br/> | 732 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Zmod_POS"·class="idref"·href="#Zmod_POS"><span·class="id"·title="definition">Zmod_POS</span></a>·(<a·id="a:235"·class="idref"·href="#a:235"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·(<a·id="b:236"·class="idref"·href="#b:236"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>··:=<br/> | 
| 733 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:235"><span·class="id"·title="variable">a</span></a>·<span·class="id"·title="keyword">with</span><br/> | 733 |   <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:235"><span·class="id"·title="variable">a</span></a>·<span·class="id"·title="keyword">with</span><br/> | 
| Offset 775, 17 lines modified | Offset 775, 17 lines modified | ||
| 775 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zmod'_correct"·class="idref"·href="#Zmod'_correct"><span·class="id"·title="lemma">Zmod'_correct</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:254"·class="idref"·href="#a:254"><span·class="id"·title="binder">a</span></a>·<a·id="b:255"·class="idref"·href="#b:255"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.ZArith.Zdiv.html#Zmod'"><span·class="id"·title="definition">Zmod'</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:254"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:255"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:254"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:255"><span·class="id"·title="variable">b</span></a>.<br/> | 775 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zmod'_correct"·class="idref"·href="#Zmod'_correct"><span·class="id"·title="lemma">Zmod'_correct</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:254"·class="idref"·href="#a:254"><span·class="id"·title="binder">a</span></a>·<a·id="b:255"·class="idref"·href="#b:255"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.ZArith.Zdiv.html#Zmod'"><span·class="id"·title="definition">Zmod'</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:254"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:255"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:254"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:255"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 776 | <br/> | 776 | <br/> | 
| 777 | </div> | 777 | </div> | 
| 778 | <div·class="doc"> | 778 | <div·class="doc"> | 
| 779 | Another·convention·is·possible·for·division·by·negative·numbers: | 779 | Another·convention·is·possible·for·division·by·negative·numbers: | 
| 780 | <a·id="lab | 780 | <a·id="lab825"></a><h1·class="section">quotient·is·always·the·biggest·integer·smaller·than·or·equal·to·a/b</h1> | 
| 781 | <a·id="lab | 781 | <a·id="lab826"></a><h1·class="section">remainder·is·hence·always·positive·or·null.</h1> | 
| 782 | </div> | 782 | </div> | 
| 783 | <div·class="code"> | 783 | <div·class="code"> | 
| 784 | <br/> | 784 | <br/> | 
| Max diff block lines reached; 252/17165 bytes (1.47%) of diff not shown. | |||
| Offset 59, 15 lines modified | Offset 59, 15 lines modified | ||
| 59 | <br/> | 59 | <br/> | 
| 60 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 60 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 
| 61 | <br/> | 61 | <br/> | 
| 62 | </div> | 62 | </div> | 
| 63 | <div·class="doc"> | 63 | <div·class="doc"> | 
| 64 | <a·id="lab | 64 | <a·id="lab800"></a><h1·class="section">Definitions·of·division·for·binary·integers,·Euclid·convention.</h1> | 
| 65 | <div·class="paragraph">·</div> | 65 | <div·class="paragraph">·</div> | 
| 66 | ·In·this·convention,·the·remainder·is·always·positive. | 66 | ·In·this·convention,·the·remainder·is·always·positive. | 
| 67 | ····For·other·conventions,·see·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·in·file·<span·class="inlinecode"><span·class="id"·title="var">BinIntDef</span></span>. | 67 | ····For·other·conventions,·see·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·in·file·<span·class="inlinecode"><span·class="id"·title="var">BinIntDef</span></span>. | 
| 68 | ····To·avoid·collision·with·the·other·divisions,·we·place·this·one | 68 | ····To·avoid·collision·with·the·other·divisions,·we·place·this·one | 
| 69 | ····under·a·module. | 69 | ····under·a·module. | 
| Offset 172, 15 lines modified | Offset 172, 15 lines modified | ||
| 172 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zodd_bool_succ"·class="idref"·href="#Zodd_bool_succ"><span·class="id"·title="abbreviation">Zodd_bool_succ</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd_succ"><span·class="id"·title="lemma">Z.odd_succ</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 172 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zodd_bool_succ"·class="idref"·href="#Zodd_bool_succ"><span·class="id"·title="abbreviation">Zodd_bool_succ</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd_succ"><span·class="id"·title="lemma">Z.odd_succ</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 173 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zodd_bool_pred"·class="idref"·href="#Zodd_bool_pred"><span·class="id"·title="abbreviation">Zodd_bool_pred</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd_pred"><span·class="id"·title="lemma">Z.odd_pred</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 173 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zodd_bool_pred"·class="idref"·href="#Zodd_bool_pred"><span·class="id"·title="abbreviation">Zodd_bool_pred</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd_pred"><span·class="id"·title="lemma">Z.odd_pred</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 174 | <br/> | 174 | <br/> | 
| 175 | </div> | 175 | </div> | 
| 176 | <div·class="doc"> | 176 | <div·class="doc"> | 
| 177 | <a·id="lab | 177 | <a·id="lab805"></a><h1·class="section">Definition·of·<span·class="inlinecode"><span·class="id"·title="var">Z.quot2</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z.div2</span></span>·and·properties·wrt·<span·class="inlinecode"><span·class="id"·title="var">Zeven</span></span></h1> | 
| 178 | ··and·<span·class="inlinecode"><span·class="id"·title="var">Zodd</span></span>· | 178 | ··and·<span·class="inlinecode"><span·class="id"·title="var">Zodd</span></span>· | 
| 179 | <div·class="paragraph">·</div> | 179 | <div·class="paragraph">·</div> | 
| 180 | ·Properties·of·<span·class="inlinecode"><span·class="id"·title="var">Z.div2</span></span>· | 180 | ·Properties·of·<span·class="inlinecode"><span·class="id"·title="var">Z.div2</span></span>· | 
| 181 | </div> | 181 | </div> | 
| 182 | <div·class="code"> | 182 | <div·class="code"> | 
| Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
| 45 | <div·class="code"> | 45 | <div·class="code"> | 
| 46 | <br/> | 46 | <br/> | 
| 47 | </div> | 47 | </div> | 
| 48 | <div·class="doc"> | 48 | <div·class="doc"> | 
| 49 | <a·id="lab | 49 | <a·id="lab876"></a><h1·class="section">Zgcd_alt·:·an·alternate·version·of·Z.gcd,·based·on·Euclid's·algorithm</h1> | 
| 50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> | 
| 51 | <div·class="paragraph">·</div> | 51 | <div·class="paragraph">·</div> | 
| 52 | Author:·Pierre·Letouzey | 52 | Author:·Pierre·Letouzey | 
| Offset 98, 29 lines modified | Offset 98, 29 lines modified | ||
| 98 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Zmisc.html#"><span·class="id"·title="library">Zmisc</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Zmisc.html#"><span·class="id"·title="library">Zmisc</span></a>.<br/> | 
| 99 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Wf_Z.html#"><span·class="id"·title="library">Wf_Z</span></a>.<br/> | 99 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Wf_Z.html#"><span·class="id"·title="library">Wf_Z</span></a>.<br/> | 
| 100 | <br/> | 100 | <br/> | 
| 101 | </div> | 101 | </div> | 
| 102 | <div·class="doc"> | 102 | <div·class="doc"> | 
| 103 | <a·id="lab | 103 | <a·id="lab806"></a><h1·class="section">Simplification·lemmas</h1> | 
| 104 | <div·class="paragraph">·</div> | 104 | <div·class="paragraph">·</div> | 
| 105 | ·No·subgoal·or·smaller·subgoals····································· | 105 | ·No·subgoal·or·smaller·subgoals····································· | 
| 106 | </div> | 106 | </div> | 
| 107 | <div·class="code"> | 107 | <div·class="code"> | 
| 108 | <br/> | 108 | <br/> | 
| 109 | #[<span·class="id"·title="var">global</span>]<br/> | 109 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 110 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span><br/> | 110 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span><br/> | 
| 111 |   </div> | 111 |   </div> | 
| 112 | <div·class="doc"> | 112 | <div·class="doc"> | 
| 113 | <a·id="lab | 113 | <a·id="lab807"></a><h2·class="section">Reversible·simplification·lemmas·(no·loss·of·information)</h2> | 
| 114 | ·Should·clearly·be·declared·as·hints······························· | 114 | ·Should·clearly·be·declared·as·hints······························· | 
| 115 | <div·class="paragraph">·</div> | 115 | <div·class="paragraph">·</div> | 
| 116 | ·Lemmas·ending·by·eq· | 116 | ·Lemmas·ending·by·eq· | 
| 117 | </div> | 117 | </div> | 
| 118 | <div·class="code"> | 118 | <div·class="code"> | 
| 119 |   <span·class="id"·title="var">Zsucc_eq_compat</span>·<br/> | 119 |   <span·class="id"·title="var">Zsucc_eq_compat</span>·<br/> | 
| Offset 167, 15 lines modified | Offset 167, 15 lines modified | ||
| 167 |   <span·class="id"·title="var">Zplus_le_compat_l</span>·<br/> | 167 |   <span·class="id"·title="var">Zplus_le_compat_l</span>·<br/> | 
| 168 |   <span·class="id"·title="var">Zplus_le_compat_r</span>·<br/> | 168 |   <span·class="id"·title="var">Zplus_le_compat_r</span>·<br/> | 
| 169 |   <span·class="id"·title="var">Z.abs_nonneg</span>·<br/> | 169 |   <span·class="id"·title="var">Z.abs_nonneg</span>·<br/> | 
| 170 | <br/> | 170 | <br/> | 
| 171 |   </div> | 171 |   </div> | 
| 172 | <div·class="doc"> | 172 | <div·class="doc"> | 
| 173 | <a·id="lab | 173 | <a·id="lab808"></a><h2·class="section">Irreversible·simplification·lemmas</h2> | 
| 174 | ·Probably·to·be·declared·as·hints,·when·no·other·simplification·is·possible· | 174 | ·Probably·to·be·declared·as·hints,·when·no·other·simplification·is·possible· | 
| 175 | <div·class="paragraph">·</div> | 175 | <div·class="paragraph">·</div> | 
| 176 | ·Lemmas·ending·by·eq· | 176 | ·Lemmas·ending·by·eq· | 
| 177 | </div> | 177 | </div> | 
| 178 | <div·class="code"> | 178 | <div·class="code"> | 
| 179 |   <span·class="id"·title="var">Z_eq_mult</span>·<br/> | 179 |   <span·class="id"·title="var">Z_eq_mult</span>·<br/> | 
| Offset 91, 15 lines modified | Offset 91, 15 lines modified | ||
| 91 | <li>·module·Zabs2Nat·:·from·Z·to·nat·(via·the·absolute·value) | 91 | <li>·module·Zabs2Nat·:·from·Z·to·nat·(via·the·absolute·value) | 
| 92 | </li> | 92 | </li> | 
| 93 | </ul> | 93 | </ul> | 
| 94 | <div·class="paragraph">·</div> | 94 | <div·class="paragraph">·</div> | 
| 95 | <a·id="lab | 95 | <a·id="lab809"></a><h1·class="section">Chains·of·conversions</h1> | 
| 96 | <div·class="paragraph">·</div> | 96 | <div·class="paragraph">·</div> | 
| 97 | ·When·combining·successive·conversions,·we·have·the·following | 97 | ·When·combining·successive·conversions,·we·have·the·following | 
| 98 | ····commutative·diagram: | 98 | ····commutative·diagram: | 
| 99 | <pre> | 99 | <pre> | 
| 100 | ······--->·Nat·---- | 100 | ······--->·Nat·---- | 
| Offset 144, 15 lines modified | Offset 144, 15 lines modified | ||
| 144 | <br/> | 144 | <br/> | 
| 145 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zabs_nat_N"·class="idref"·href="#Zabs_nat_N"><span·class="id"·title="lemma">Zabs_nat_N</span></a>·<a·id="n:10"·class="idref"·href="#n:10"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.NArith.BinNat.html#N.of_nat"><span·class="id"·title="definition">N.of_nat</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_nat"><span·class="id"·title="definition">Z.abs_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Znat.html#n:10"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_N"><span·class="id"·title="definition">Z.abs_N</span></a>·<a·class="idref"·href="Coq.ZArith.Znat.html#n:10"><span·class="id"·title="variable">n</span></a>.<br/> | 145 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zabs_nat_N"·class="idref"·href="#Zabs_nat_N"><span·class="id"·title="lemma">Zabs_nat_N</span></a>·<a·id="n:10"·class="idref"·href="#n:10"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.NArith.BinNat.html#N.of_nat"><span·class="id"·title="definition">N.of_nat</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_nat"><span·class="id"·title="definition">Z.abs_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Znat.html#n:10"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_N"><span·class="id"·title="definition">Z.abs_N</span></a>·<a·class="idref"·href="Coq.ZArith.Znat.html#n:10"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 146 | <br/> | 146 | <br/> | 
| 147 | </div> | 147 | </div> | 
| 148 | <div·class="doc"> | 148 | <div·class="doc"> | 
| 149 | <a·id="lab | 149 | <a·id="lab810"></a><h1·class="section">Conversions·between·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">N</span></span></h1> | 
| 150 | </div> | 150 | </div> | 
| 151 | <div·class="code"> | 151 | <div·class="code"> | 
| 152 | <br/> | 152 | <br/> | 
| 153 | <span·class="id"·title="keyword">Module</span>·<a·id="N2Z"·class="idref"·href="#N2Z"><span·class="id"·title="module">N2Z</span></a>.<br/> | 153 | <span·class="id"·title="keyword">Module</span>·<a·id="N2Z"·class="idref"·href="#N2Z"><span·class="id"·title="module">N2Z</span></a>.<br/> | 
| Offset 521, 15 lines modified | Offset 521, 15 lines modified | ||
| 521 | <br/> | 521 | <br/> | 
| 522 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Znat.html#Zabs2N"><span·class="id"·title="module">Zabs2N</span></a>.<br/> | 522 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Znat.html#Zabs2N"><span·class="id"·title="module">Zabs2N</span></a>.<br/> | 
| 523 | <br/> | 523 | <br/> | 
| 524 | </div> | 524 | </div> | 
| 525 | <div·class="doc"> | 525 | <div·class="doc"> | 
| 526 | <a·id="lab | 526 | <a·id="lab811"></a><h1·class="section">Conversions·between·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span></h1> | 
| 527 | </div> | 527 | </div> | 
| 528 | <div·class="code"> | 528 | <div·class="code"> | 
| 529 | <br/> | 529 | <br/> | 
| 530 | <span·class="id"·title="keyword">Module</span>·<a·id="Nat2Z"·class="idref"·href="#Nat2Z"><span·class="id"·title="module">Nat2Z</span></a>.<br/> | 530 | <span·class="id"·title="keyword">Module</span>·<a·id="Nat2Z"·class="idref"·href="#Nat2Z"><span·class="id"·title="module">Nat2Z</span></a>.<br/> | 
| Offset 241, 15 lines modified | Offset 241, 15 lines modified | ||
| 241 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zdivide_mod_minus"·class="idref"·href="#Zdivide_mod_minus"><span·class="id"·title="lemma">Zdivide_mod_minus</span></a>·<a·id="a:44"·class="idref"·href="#a:44"><span·class="id"·title="binder">a</span></a>·<a·id="b:45"·class="idref"·href="#b:45"><span·class="id"·title="binder">b</span></a>·<a·id="c:46"·class="idref"·href="#c:46"><span·class="id"·title="binder">c</span></a>:<br/> | 241 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zdivide_mod_minus"·class="idref"·href="#Zdivide_mod_minus"><span·class="id"·title="lemma">Zdivide_mod_minus</span></a>·<a·id="a:44"·class="idref"·href="#a:44"><span·class="id"·title="binder">a</span></a>·<a·id="b:45"·class="idref"·href="#b:45"><span·class="id"·title="binder">b</span></a>·<a·id="c:46"·class="idref"·href="#c:46"><span·class="id"·title="binder">c</span></a>:<br/> | 
| 242 |  0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a>.<br/> | 242 |  0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a>.<br/> | 
| 243 | <br/> | 243 | <br/> | 
| 244 | </div> | 244 | </div> | 
| 245 | <div·class="doc"> | 245 | <div·class="doc"> | 
| 246 | <a·id="lab | 246 | <a·id="lab877"></a><h1·class="section">Greatest·common·divisor·(gcd).</h1> | 
| 247 | <div·class="paragraph">·</div> | 247 | <div·class="paragraph">·</div> | 
| 248 | ·There·is·no·unicity·of·the·gcd;·hence·we·define·the·predicate | 248 | ·There·is·no·unicity·of·the·gcd;·hence·we·define·the·predicate | 
| 249 | ····<span·class="inlinecode"><span·class="id"·title="var">Zis_gcd</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">b</span></span>·<span·class="inlinecode"><span·class="id"·title="var">g</span></span>·expressing·that·<span·class="inlinecode"><span·class="id"·title="var">g</span></span>·is·a·gcd·of·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">b</span></span>. | 249 | ····<span·class="inlinecode"><span·class="id"·title="var">Zis_gcd</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">b</span></span>·<span·class="inlinecode"><span·class="id"·title="var">g</span></span>·expressing·that·<span·class="inlinecode"><span·class="id"·title="var">g</span></span>·is·a·gcd·of·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">b</span></span>. | 
| 250 | ····(We·show·later·that·the·<span·class="inlinecode"><span·class="id"·title="var">gcd</span></span>·is·actually·unique·if·we·discard·its·sign.)· | 250 | ····(We·show·later·that·the·<span·class="inlinecode"><span·class="id"·title="var">gcd</span></span>·is·actually·unique·if·we·discard·its·sign.)· | 
| 251 | </div> | 251 | </div> | 
| Offset 303, 15 lines modified | Offset 303, 15 lines modified | ||
| 303 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zis_gcd_unique"·class="idref"·href="#Zis_gcd_unique"><span·class="id"·title="lemma">Zis_gcd_unique</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:68"·class="idref"·href="#a:68"><span·class="id"·title="binder">a</span></a>·<a·id="b:69"·class="idref"·href="#b:69"><span·class="id"·title="binder">b</span></a>·<a·id="c:70"·class="idref"·href="#c:70"><span·class="id"·title="binder">c</span></a>·<a·id="d:71"·class="idref"·href="#d:71"><span·class="id"·title="binder">d</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,<br/> | 303 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zis_gcd_unique"·class="idref"·href="#Zis_gcd_unique"><span·class="id"·title="lemma">Zis_gcd_unique</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:68"·class="idref"·href="#a:68"><span·class="id"·title="binder">a</span></a>·<a·id="b:69"·class="idref"·href="#b:69"><span·class="id"·title="binder">b</span></a>·<a·id="c:70"·class="idref"·href="#c:70"><span·class="id"·title="binder">c</span></a>·<a·id="d:71"·class="idref"·href="#d:71"><span·class="id"·title="binder">d</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,<br/> | 
| 304 |  <a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:68"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:70"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:68"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:71"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>··<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:70"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:71"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:70"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:71"><span·class="id"·title="variable">d</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 304 |  <a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:68"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:70"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:68"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:71"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>··<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:70"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:71"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:70"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:71"><span·class="id"·title="variable">d</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 
| 305 | <br/> | 305 | <br/> | 
| 306 | </div> | 306 | </div> | 
| 307 | <div·class="doc"> | 307 | <div·class="doc"> | 
| 308 | <a·id="lab | 308 | <a·id="lab878"></a><h1·class="section">Extended·Euclid·algorithm.</h1> | 
| 309 | </div> | 309 | </div> | 
| 310 | <div·class="code"> | 310 | <div·class="code"> | 
| 311 | <br/> | 311 | <br/> | 
| 312 | <span·class="id"·title="keyword">Lemma</span>·<a·id="deprecated_Zis_gcd_for_euclid"·class="idref"·href="#deprecated_Zis_gcd_for_euclid"><span·class="id"·title="lemma">deprecated_Zis_gcd_for_euclid</span></a>·:<br/> | 312 | <span·class="id"·title="keyword">Lemma</span>·<a·id="deprecated_Zis_gcd_for_euclid"·class="idref"·href="#deprecated_Zis_gcd_for_euclid"><span·class="id"·title="lemma">deprecated_Zis_gcd_for_euclid</span></a>·:<br/> | 
| 313 |   <span·class="id"·title="keyword">forall</span>·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>·<a·id="b:73"·class="idref"·href="#b:73"><span·class="id"·title="binder">b</span></a>·<a·id="d:74"·class="idref"·href="#d:74"><span·class="id"·title="binder">d</span></a>·<a·id="q:75"·class="idref"·href="#q:75"><span·class="id"·title="binder">q</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:72"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#q:75"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:74"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:72"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:74"><span·class="id"·title="variable">d</span></a>.<br/> | 313 |   <span·class="id"·title="keyword">forall</span>·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>·<a·id="b:73"·class="idref"·href="#b:73"><span·class="id"·title="binder">b</span></a>·<a·id="d:74"·class="idref"·href="#d:74"><span·class="id"·title="binder">d</span></a>·<a·id="q:75"·class="idref"·href="#q:75"><span·class="id"·title="binder">q</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:72"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#q:75"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:74"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:72"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:74"><span·class="id"·title="variable">d</span></a>.<br/> | 
| Offset 391, 15 lines modified | Offset 391, 15 lines modified | ||
| 391 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zis_gcd_uniqueness_apart_sign"·class="idref"·href="#Zis_gcd_uniqueness_apart_sign"><span·class="id"·title="lemma">Zis_gcd_uniqueness_apart_sign</span></a>·:<br/> | 391 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zis_gcd_uniqueness_apart_sign"·class="idref"·href="#Zis_gcd_uniqueness_apart_sign"><span·class="id"·title="lemma">Zis_gcd_uniqueness_apart_sign</span></a>·:<br/> | 
| 392 |   <span·class="id"·title="keyword">forall</span>·<a·id="a:138"·class="idref"·href="#a:138"><span·class="id"·title="binder">a</span></a>·<a·id="b:139"·class="idref"·href="#b:139"><span·class="id"·title="binder">b</span></a>·<a·id="d:140"·class="idref"·href="#d:140"><span·class="id"·title="binder">d</span></a>·<a·id="d':141"·class="idref"·href="#d':141"><span·class="id"·title="binder">d'</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:138"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:139"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:140"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:138"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:139"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d':141"><span·class="id"·title="variable">d'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:140"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d':141"><span·class="id"·title="variable">d'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:140"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d':141"><span·class="id"·title="variable">d'</span></a>.<br/> | 392 |   <span·class="id"·title="keyword">forall</span>·<a·id="a:138"·class="idref"·href="#a:138"><span·class="id"·title="binder">a</span></a>·<a·id="b:139"·class="idref"·href="#b:139"><span·class="id"·title="binder">b</span></a>·<a·id="d:140"·class="idref"·href="#d:140"><span·class="id"·title="binder">d</span></a>·<a·id="d':141"·class="idref"·href="#d':141"><span·class="id"·title="binder">d'</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:138"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:139"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:140"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:138"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:139"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d':141"><span·class="id"·title="variable">d'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:140"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d':141"><span·class="id"·title="variable">d'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:140"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d':141"><span·class="id"·title="variable">d'</span></a>.<br/> | 
| 393 | <br/> | 393 | <br/> | 
| 394 | </div> | 394 | </div> | 
| 395 | <div·class="doc"> | 395 | <div·class="doc"> | 
| 396 | <a·id="lab | 396 | <a·id="lab879"></a><h1·class="section">Bezout's·coefficients</h1> | 
| 397 | </div> | 397 | </div> | 
| 398 | <div·class="code"> | 398 | <div·class="code"> | 
| 399 | <br/> | 399 | <br/> | 
| 400 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Bezout"·class="idref"·href="#Bezout"><span·class="id"·title="definition,·inductive"><span·id="Bezout_ind"·class="id"><span·id="Bezout_sind"·class="id">Bezout</span></span></span></a>·(<a·id="a:142"·class="idref"·href="#a:142"><span·class="id"·title="binder">a</span></a>·<a·id="b:143"·class="idref"·href="#b:143"><span·class="id"·title="binder">b</span></a>·<a·id="d:144"·class="idref"·href="#d:144"><span·class="id"·title="binder">d</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 400 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Bezout"·class="idref"·href="#Bezout"><span·class="id"·title="definition,·inductive"><span·id="Bezout_ind"·class="id"><span·id="Bezout_sind"·class="id">Bezout</span></span></span></a>·(<a·id="a:142"·class="idref"·href="#a:142"><span·class="id"·title="binder">a</span></a>·<a·id="b:143"·class="idref"·href="#b:143"><span·class="id"·title="binder">b</span></a>·<a·id="d:144"·class="idref"·href="#d:144"><span·class="id"·title="binder">d</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 401 |   <a·id="Bezout_intro"·class="idref"·href="#Bezout_intro"><span·class="id"·title="constructor">Bezout_intro</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:147"·class="idref"·href="#u:147"><span·class="id"·title="binder">u</span></a>·<a·id="v:148"·class="idref"·href="#v:148"><span·class="id"·title="binder">v</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#u:147"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:142"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#v:148"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:143"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:144"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Bezout:145"><span·class="id"·title="inductive">Bezout</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:142"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:143"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:144"><span·class="id"·title="variable">d</span></a>.<br/> | 401 |   <a·id="Bezout_intro"·class="idref"·href="#Bezout_intro"><span·class="id"·title="constructor">Bezout_intro</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:147"·class="idref"·href="#u:147"><span·class="id"·title="binder">u</span></a>·<a·id="v:148"·class="idref"·href="#v:148"><span·class="id"·title="binder">v</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#u:147"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:142"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#v:148"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:143"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:144"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Bezout:145"><span·class="id"·title="inductive">Bezout</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:142"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:143"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:144"><span·class="id"·title="variable">d</span></a>.<br/> | 
| Offset 427, 15 lines modified | Offset 427, 15 lines modified | ||
| 427 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zis_gcd_mult"·class="idref"·href="#Zis_gcd_mult"><span·class="id"·title="lemma">Zis_gcd_mult</span></a>·:<br/> | 427 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zis_gcd_mult"·class="idref"·href="#Zis_gcd_mult"><span·class="id"·title="lemma">Zis_gcd_mult</span></a>·:<br/> | 
| 428 |   <span·class="id"·title="keyword">forall</span>·<a·id="a:152"·class="idref"·href="#a:152"><span·class="id"·title="binder">a</span></a>·<a·id="b:153"·class="idref"·href="#b:153"><span·class="id"·title="binder">b</span></a>·<a·id="c:154"·class="idref"·href="#c:154"><span·class="id"·title="binder">c</span></a>·<a·id="d:155"·class="idref"·href="#d:155"><span·class="id"·title="binder">d</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:152"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:153"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:155"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:152"><span·class="id"·title="variable">a</span></a>)·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:153"><span·class="id"·title="variable">b</span></a>)·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:155"><span·class="id"·title="variable">d</span></a>).<br/> | 428 |   <span·class="id"·title="keyword">forall</span>·<a·id="a:152"·class="idref"·href="#a:152"><span·class="id"·title="binder">a</span></a>·<a·id="b:153"·class="idref"·href="#b:153"><span·class="id"·title="binder">b</span></a>·<a·id="c:154"·class="idref"·href="#c:154"><span·class="id"·title="binder">c</span></a>·<a·id="d:155"·class="idref"·href="#d:155"><span·class="id"·title="binder">d</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:152"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:153"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:155"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:152"><span·class="id"·title="variable">a</span></a>)·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:153"><span·class="id"·title="variable">b</span></a>)·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:155"><span·class="id"·title="variable">d</span></a>).<br/> | 
| 429 | <br/> | 429 | <br/> | 
| 430 | </div> | 430 | </div> | 
| 431 | <div·class="doc"> | 431 | <div·class="doc"> | 
| 432 | <a·id="lab | 432 | <a·id="lab880"></a><h1·class="section">Relative·primality</h1> | 
| 433 | </div> | 433 | </div> | 
| 434 | <div·class="code"> | 434 | <div·class="code"> | 
| 435 | <br/> | 435 | <br/> | 
| 436 | <span·class="id"·title="keyword">Definition</span>·<a·id="rel_prime"·class="idref"·href="#rel_prime"><span·class="id"·title="definition">rel_prime</span></a>·(<a·id="a:156"·class="idref"·href="#a:156"><span·class="id"·title="binder">a</span></a>·<a·id="b:157"·class="idref"·href="#b:157"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:156"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:157"><span·class="id"·title="variable">b</span></a>·1.<br/> | 436 | <span·class="id"·title="keyword">Definition</span>·<a·id="rel_prime"·class="idref"·href="#rel_prime"><span·class="id"·title="definition">rel_prime</span></a>·(<a·id="a:156"·class="idref"·href="#a:156"><span·class="id"·title="binder">a</span></a>·<a·id="b:157"·class="idref"·href="#b:157"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:156"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:157"><span·class="id"·title="variable">b</span></a>·1.<br/> | 
| Offset 521, 15 lines modified | Offset 521, 15 lines modified | ||
| 521 | <br/> | 521 | <br/> | 
| 522 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrel_prime_neq_mod_0"·class="idref"·href="#Zrel_prime_neq_mod_0"><span·class="id"·title="lemma">Zrel_prime_neq_mod_0</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:186"·class="idref"·href="#a:186"><span·class="id"·title="binder">a</span></a>·<a·id="b:187"·class="idref"·href="#b:187"><span·class="id"·title="binder">b</span></a>,·1·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:187"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#rel_prime"><span·class="id"·title="definition">rel_prime</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:186"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:187"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:186"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:187"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> | 522 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrel_prime_neq_mod_0"·class="idref"·href="#Zrel_prime_neq_mod_0"><span·class="id"·title="lemma">Zrel_prime_neq_mod_0</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:186"·class="idref"·href="#a:186"><span·class="id"·title="binder">a</span></a>·<a·id="b:187"·class="idref"·href="#b:187"><span·class="id"·title="binder">b</span></a>,·1·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:187"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#rel_prime"><span·class="id"·title="definition">rel_prime</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:186"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:187"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:186"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:187"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> | 
| 523 | <br/> | 523 | <br/> | 
| 524 | </div> | 524 | </div> | 
| 525 | <div·class="doc"> | 525 | <div·class="doc"> | 
| 526 | <a·id="lab | 526 | <a·id="lab881"></a><h1·class="section">Primality</h1> | 
| 527 | </div> | 527 | </div> | 
| 528 | <div·class="code"> | 528 | <div·class="code"> | 
| 529 | <br/> | 529 | <br/> | 
| 530 | <span·class="id"·title="keyword">Inductive</span>·<a·id="prime"·class="idref"·href="#prime"><span·class="id"·title="definition,·inductive"><span·id="prime_rect"·class="id"><span·id="prime_ind"·class="id"><span·id="prime_rec"·class="id"><span·id="prime_sind"·class="id">prime</span></span></span></span></span></a>·(<a·id="p:188"·class="idref"·href="#p:188"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 530 | <span·class="id"·title="keyword">Inductive</span>·<a·id="prime"·class="idref"·href="#prime"><span·class="id"·title="definition,·inductive"><span·id="prime_rect"·class="id"><span·id="prime_ind"·class="id"><span·id="prime_rec"·class="id"><span·id="prime_sind"·class="id">prime</span></span></span></span></span></a>·(<a·id="p:188"·class="idref"·href="#p:188"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 
| 531 |   <a·id="prime_intro"·class="idref"·href="#prime_intro"><span·class="id"·title="constructor">prime_intro</span></a>·:<br/> | 531 |   <a·id="prime_intro"·class="idref"·href="#prime_intro"><span·class="id"·title="constructor">prime_intro</span></a>·:<br/> | 
| Offset 67, 30 lines modified | Offset 67, 30 lines modified | ||
| 67 | <br/> | 67 | <br/> | 
| 68 | </div> | 68 | </div> | 
| 69 | <div·class="doc"> | 69 | <div·class="doc"> | 
| 70 | Properties·of·the·order·relations·on·binary·integers· | 70 | Properties·of·the·order·relations·on·binary·integers· | 
| 71 | <div·class="paragraph">·</div> | 71 | <div·class="paragraph">·</div> | 
| 72 | <a·id="lab | 72 | <a·id="lab866"></a><h1·class="section">Trichotomy</h1> | 
| 73 | </div> | 73 | </div> | 
| 74 | <div·class="code"> | 74 | <div·class="code"> | 
| 75 | <br/> | 75 | <br/> | 
| 76 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Ztrichotomy_inf"·class="idref"·href="#Ztrichotomy_inf"><span·class="id"·title="lemma">Ztrichotomy_inf</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">}</span></a>.<br/> | 76 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Ztrichotomy_inf"·class="idref"·href="#Ztrichotomy_inf"><span·class="id"·title="lemma">Ztrichotomy_inf</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">}</span></a>.<br/> | 
| 77 | <br/> | 77 | <br/> | 
| 78 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Ztrichotomy"·class="idref"·href="#Ztrichotomy"><span·class="id"·title="lemma">Ztrichotomy</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·<a·id="m:4"·class="idref"·href="#m:4"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>.<br/> | 78 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Ztrichotomy"·class="idref"·href="#Ztrichotomy"><span·class="id"·title="lemma">Ztrichotomy</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·<a·id="m:4"·class="idref"·href="#m:4"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 79 | <br/> | 79 | <br/> | 
| 80 | </div> | 80 | </div> | 
| 81 | <div·class="doc"> | 81 | <div·class="doc"> | 
| 82 | <a·id="lab | 82 | <a·id="lab867"></a><h1·class="section">Decidability·of·equality·and·order·on·Z</h1> | 
| 83 | </div> | 83 | </div> | 
| 84 | <div·class="code"> | 84 | <div·class="code"> | 
| 85 | <br/> | 85 | <br/> | 
| 86 | <span·class="id"·title="keyword">Notation</span>·<a·id="dec_eq"·class="idref"·href="#dec_eq"><span·class="id"·title="abbreviation">dec_eq</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq_decidable"><span·class="id"·title="lemma">Z.eq_decidable</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 86 | <span·class="id"·title="keyword">Notation</span>·<a·id="dec_eq"·class="idref"·href="#dec_eq"><span·class="id"·title="abbreviation">dec_eq</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq_decidable"><span·class="id"·title="lemma">Z.eq_decidable</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 87 | <span·class="id"·title="keyword">Notation</span>·<a·id="dec_Zle"·class="idref"·href="#dec_Zle"><span·class="id"·title="abbreviation">dec_Zle</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.le_decidable"><span·class="id"·title="lemma">Z.le_decidable</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 87 | <span·class="id"·title="keyword">Notation</span>·<a·id="dec_Zle"·class="idref"·href="#dec_Zle"><span·class="id"·title="abbreviation">dec_Zle</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.le_decidable"><span·class="id"·title="lemma">Z.le_decidable</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| Offset 108, 15 lines modified | Offset 108, 15 lines modified | ||
| 108 | <br/> | 108 | <br/> | 
| 109 | <span·class="id"·title="keyword">Theorem</span>·<a·id="not_Zeq"·class="idref"·href="#not_Zeq"><span·class="id"·title="lemma">not_Zeq</span></a>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>·<a·id="m:12"·class="idref"·href="#m:12"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:11"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:12"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:11"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:12"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:12"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:11"><span·class="id"·title="variable">n</span></a>.<br/> | 109 | <span·class="id"·title="keyword">Theorem</span>·<a·id="not_Zeq"·class="idref"·href="#not_Zeq"><span·class="id"·title="lemma">not_Zeq</span></a>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>·<a·id="m:12"·class="idref"·href="#m:12"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:11"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:12"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:11"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:12"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:12"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:11"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 110 | <br/> | 110 | <br/> | 
| 111 | </div> | 111 | </div> | 
| 112 | <div·class="doc"> | 112 | <div·class="doc"> | 
| 113 | <a·id="lab | 113 | <a·id="lab868"></a><h1·class="section">Relating·strict·and·large·orders</h1> | 
| 114 | </div> | 114 | </div> | 
| 115 | <div·class="code"> | 115 | <div·class="code"> | 
| 116 | <br/> | 116 | <br/> | 
| 117 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zgt_iff_lt"·class="idref"·href="#Zgt_iff_lt"><span·class="id"·title="abbreviation">Zgt_iff_lt</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.gt_lt_iff"><span·class="id"·title="lemma">Z.gt_lt_iff</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 117 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zgt_iff_lt"·class="idref"·href="#Zgt_iff_lt"><span·class="id"·title="abbreviation">Zgt_iff_lt</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.gt_lt_iff"><span·class="id"·title="lemma">Z.gt_lt_iff</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 118 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zge_iff_le"·class="idref"·href="#Zge_iff_le"><span·class="id"·title="abbreviation">Zge_iff_le</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.ge_le_iff"><span·class="id"·title="lemma">Z.ge_le_iff</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 118 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zge_iff_le"·class="idref"·href="#Zge_iff_le"><span·class="id"·title="abbreviation">Zge_iff_le</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.ge_le_iff"><span·class="id"·title="lemma">Z.ge_le_iff</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| Offset 148, 15 lines modified | Offset 148, 15 lines modified | ||
| 148 | <br/> | 148 | <br/> | 
| 149 | <span·class="id"·title="keyword">Lemma</span>·<a·id="not_Zne"·class="idref"·href="#not_Zne"><span·class="id"·title="lemma">not_Zne</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·<a·id="m:30"·class="idref"·href="#m:30"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Zne"><span·class="id"·title="definition">Zne</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:30"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:30"><span·class="id"·title="variable">m</span></a>.<br/> | 149 | <span·class="id"·title="keyword">Lemma</span>·<a·id="not_Zne"·class="idref"·href="#not_Zne"><span·class="id"·title="lemma">not_Zne</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·<a·id="m:30"·class="idref"·href="#m:30"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Zne"><span·class="id"·title="definition">Zne</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:30"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:30"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 150 | <br/> | 150 | <br/> | 
| 151 | </div> | 151 | </div> | 
| 152 | <div·class="doc"> | 152 | <div·class="doc"> | 
| 153 | <a·id="lab | 153 | <a·id="lab869"></a><h1·class="section">Equivalence·and·order·properties</h1> | 
| 154 | <div·class="paragraph">·</div> | 154 | <div·class="paragraph">·</div> | 
| 155 | ·Reflexivity· | 155 | ·Reflexivity· | 
| 156 | </div> | 156 | </div> | 
| 157 | <div·class="code"> | 157 | <div·class="code"> | 
| Offset 272, 19 lines modified | Offset 272, 19 lines modified | ||
| 272 | #[<span·class="id"·title="var">global</span>]<br/> | 272 | #[<span·class="id"·title="var">global</span>]<br/> | 
| 273 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Z.le_trans</span>:·<span·class="id"·title="var">zarith</span>.<br/> | 273 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Z.le_trans</span>:·<span·class="id"·title="var">zarith</span>.<br/> | 
| 274 | <br/> | 274 | <br/> | 
| 275 | </div> | 275 | </div> | 
| 276 | <div·class="doc"> | 276 | <div·class="doc"> | 
| 277 | <a·id="lab | 277 | <a·id="lab870"></a><h1·class="section">Compatibility·of·order·and·operations·on·Z</h1> | 
| 278 | <div·class="paragraph">·</div> | 278 | <div·class="paragraph">·</div> | 
| 279 | <a·id="lab | 279 | <a·id="lab871"></a><h2·class="section">Successor</h2> | 
| 280 | <div·class="paragraph">·</div> | 280 | <div·class="paragraph">·</div> | 
| 281 | ·Compatibility·of·successor·wrt·to·order· | 281 | ·Compatibility·of·successor·wrt·to·order· | 
| 282 | </div> | 282 | </div> | 
| 283 | <div·class="code"> | 283 | <div·class="code"> | 
| Offset 454, 15 lines modified | Offset 454, 15 lines modified | ||
| 454 | <br/> | 454 | <br/> | 
| 455 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zgt_succ_gt_or_eq"·class="idref"·href="#Zgt_succ_gt_or_eq"><span·class="id"·title="lemma">Zgt_succ_gt_or_eq</span></a>·<a·id="n:90"·class="idref"·href="#n:90"><span·class="id"·title="binder">n</span></a>·<a·id="m:91"·class="idref"·href="#m:91"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:90"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:91"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:90"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:91"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:91"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:90"><span·class="id"·title="variable">n</span></a>.<br/> | 455 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zgt_succ_gt_or_eq"·class="idref"·href="#Zgt_succ_gt_or_eq"><span·class="id"·title="lemma">Zgt_succ_gt_or_eq</span></a>·<a·id="n:90"·class="idref"·href="#n:90"><span·class="id"·title="binder">n</span></a>·<a·id="m:91"·class="idref"·href="#m:91"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:90"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:91"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:90"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:91"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:91"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:90"><span·class="id"·title="variable">n</span></a>.<br/> | 
| 456 | <br/> | 456 | <br/> | 
| 457 | </div> | 457 | </div> | 
| 458 | <div·class="doc"> | 458 | <div·class="doc"> | 
| 459 | <a·id="lab | 459 | <a·id="lab872"></a><h2·class="section">Addition</h2> | 
| 460 | ·Compatibility·of·addition·wrt·to·order· | 460 | ·Compatibility·of·addition·wrt·to·order· | 
| 461 | </div> | 461 | </div> | 
| 462 | <div·class="code"> | 462 | <div·class="code"> | 
| 463 | <br/> | 463 | <br/> | 
| 464 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zplus_lt_le_compat"·class="idref"·href="#Zplus_lt_le_compat"><span·class="id"·title="abbreviation">Zplus_lt_le_compat</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.add_lt_le_mono"><span·class="id"·title="lemma">Z.add_lt_le_mono</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 464 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zplus_lt_le_compat"·class="idref"·href="#Zplus_lt_le_compat"><span·class="id"·title="abbreviation">Zplus_lt_le_compat</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.add_lt_le_mono"><span·class="id"·title="lemma">Z.add_lt_le_mono</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 465 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zplus_le_lt_compat"·class="idref"·href="#Zplus_le_lt_compat"><span·class="id"·title="abbreviation">Zplus_le_lt_compat</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.add_le_lt_mono"><span·class="id"·title="lemma">Z.add_le_lt_mono</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 465 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zplus_le_lt_compat"·class="idref"·href="#Zplus_le_lt_compat"><span·class="id"·title="abbreviation">Zplus_le_lt_compat</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.add_le_lt_mono"><span·class="id"·title="lemma">Z.add_le_lt_mono</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| Offset 524, 15 lines modified | Offset 524, 15 lines modified | ||
| 524 | <br/> | 524 | <br/> | 
| 525 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zplus_gt_reg_r"·class="idref"·href="#Zplus_gt_reg_r"><span·class="id"·title="lemma">Zplus_gt_reg_r</span></a>·<a·id="n:125"·class="idref"·href="#n:125"><span·class="id"·title="binder">n</span></a>·<a·id="m:126"·class="idref"·href="#m:126"><span·class="id"·title="binder">m</span></a>·<a·id="p:127"·class="idref"·href="#p:127"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:125"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:127"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:126"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:127"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:125"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:126"><span·class="id"·title="variable">m</span></a>.<br/> | 525 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zplus_gt_reg_r"·class="idref"·href="#Zplus_gt_reg_r"><span·class="id"·title="lemma">Zplus_gt_reg_r</span></a>·<a·id="n:125"·class="idref"·href="#n:125"><span·class="id"·title="binder">n</span></a>·<a·id="m:126"·class="idref"·href="#m:126"><span·class="id"·title="binder">m</span></a>·<a·id="p:127"·class="idref"·href="#p:127"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:125"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:127"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:126"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:127"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:125"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:126"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 526 | <br/> | 526 | <br/> | 
| 527 | </div> | 527 | </div> | 
| 528 | <div·class="doc"> | 528 | <div·class="doc"> | 
| 529 | <a·id="lab | 529 | <a·id="lab873"></a><h2·class="section">Multiplication</h2> | 
| 530 | ·Compatibility·of·multiplication·by·a·positive·wrt·to·order· | 530 | ·Compatibility·of·multiplication·by·a·positive·wrt·to·order· | 
| 531 | </div> | 531 | </div> | 
| 532 | <div·class="code"> | 532 | <div·class="code"> | 
| 533 | <br/> | 533 | <br/> | 
| 534 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_le_compat_r"·class="idref"·href="#Zmult_le_compat_r"><span·class="id"·title="lemma">Zmult_le_compat_r</span></a>·<a·id="n:128"·class="idref"·href="#n:128"><span·class="id"·title="binder">n</span></a>·<a·id="m:129"·class="idref"·href="#m:129"><span·class="id"·title="binder">m</span></a>·<a·id="p:130"·class="idref"·href="#p:130"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:128"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:129"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:128"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:129"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><span·class="id"·title="variable">p</span></a>.<br/> | 534 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_le_compat_r"·class="idref"·href="#Zmult_le_compat_r"><span·class="id"·title="lemma">Zmult_le_compat_r</span></a>·<a·id="n:128"·class="idref"·href="#n:128"><span·class="id"·title="binder">n</span></a>·<a·id="m:129"·class="idref"·href="#m:129"><span·class="id"·title="binder">m</span></a>·<a·id="p:130"·class="idref"·href="#p:130"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:128"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:129"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:128"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:129"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><span·class="id"·title="variable">p</span></a>.<br/> | 
| Offset 652, 30 lines modified | Offset 652, 30 lines modified | ||
| 652 | <br/> | 652 | <br/> | 
| 653 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_gt_0_reg_l"·class="idref"·href="#Zmult_gt_0_reg_l"><span·class="id"·title="lemma">Zmult_gt_0_reg_l</span></a>·<a·id="n:208"·class="idref"·href="#n:208"><span·class="id"·title="binder">n</span></a>·<a·id="m:209"·class="idref"·href="#m:209"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:208"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:208"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:209"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:209"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> | 653 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_gt_0_reg_l"·class="idref"·href="#Zmult_gt_0_reg_l"><span·class="id"·title="lemma">Zmult_gt_0_reg_l</span></a>·<a·id="n:208"·class="idref"·href="#n:208"><span·class="id"·title="binder">n</span></a>·<a·id="m:209"·class="idref"·href="#m:209"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:208"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:208"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:209"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:209"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> | 
| 654 | <br/> | 654 | <br/> | 
| 655 | </div> | 655 | </div> | 
| 656 | <div·class="doc"> | 656 | <div·class="doc"> | 
| 657 | <a·id="lab | 657 | <a·id="lab874"></a><h2·class="section">Square</h2> | 
| 658 | ·Simplification·of·square·wrt·order· | 658 | ·Simplification·of·square·wrt·order· | 
| 659 | </div> | 659 | </div> | 
| 660 | <div·class="code"> | 660 | <div·class="code"> | 
| Max diff block lines reached; 4856/23117 bytes (21.01%) of diff not shown. | |||
| Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
| 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.BinInt.html#"><span·class="id"·title="library">BinInt</span></a>·<a·class="idref"·href="Coq.setoid_ring.Ring_theory.html#"><span·class="id"·title="library">Ring_theory</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.BinInt.html#"><span·class="id"·title="library">BinInt</span></a>·<a·class="idref"·href="Coq.setoid_ring.Ring_theory.html#"><span·class="id"·title="library">Ring_theory</span></a>.<br/> | 
| 50 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 50 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 
| 51 | <br/> | 51 | <br/> | 
| 52 | </div> | 52 | </div> | 
| 53 | <div·class="doc"> | 53 | <div·class="doc"> | 
| 54 | <a·id="lab | 54 | <a·id="lab755"></a><h1·class="section">Power·functions·over·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span></h1> | 
| 55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> | 
| 56 | ·Nota·:·this·file·is·mostly·deprecated.·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Z.pow</span></span> | 56 | ·Nota·:·this·file·is·mostly·deprecated.·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Z.pow</span></span> | 
| 57 | ····and·its·usual·properties·are·now·provided·by·module·<span·class="inlinecode"><span·class="id"·title="var">BinInt.Z</span></span>.· | 57 | ····and·its·usual·properties·are·now·provided·by·module·<span·class="inlinecode"><span·class="id"·title="var">BinInt.Z</span></span>.· | 
| 58 | </div> | 58 | </div> | 
| 59 | <div·class="code"> | 59 | <div·class="code"> | 
| Offset 128, 15 lines modified | Offset 128, 15 lines modified | ||
| 128 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zpower2_Psize"·class="idref"·href="#Zpower2_Psize"><span·class="id"·title="lemma">Zpower2_Psize</span></a>·<a·id="n:25"·class="idref"·href="#n:25"><span·class="id"·title="binder">n</span></a>·<a·id="p:26"·class="idref"·href="#p:26"><span·class="id"·title="binder">p</span></a>·:<br/> | 128 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zpower2_Psize"·class="idref"·href="#Zpower2_Psize"><span·class="id"·title="lemma">Zpower2_Psize</span></a>·<a·id="n:25"·class="idref"·href="#n:25"><span·class="id"·title="binder">n</span></a>·<a·id="p:26"·class="idref"·href="#p:26"><span·class="id"·title="binder">p</span></a>·:<br/> | 
| 129 |   <a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:26"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:25"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.size_nat"><span·class="id"·title="definition">Pos.size_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:26"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:25"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span>.<br/> | 129 |   <a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:26"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:25"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.size_nat"><span·class="id"·title="definition">Pos.size_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:26"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:25"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span>.<br/> | 
| 130 | <br/> | 130 | <br/> | 
| 131 | </div> | 131 | </div> | 
| 132 | <div·class="doc"> | 132 | <div·class="doc"> | 
| 133 | <a·id="lab | 133 | <a·id="lab751"></a><h1·class="section">Z.pow·and·modulo</h1> | 
| 134 | </div> | 134 | </div> | 
| 135 | <div·class="code"> | 135 | <div·class="code"> | 
| 136 | <br/> | 136 | <br/> | 
| 137 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zpower_mod"·class="idref"·href="#Zpower_mod"><span·class="id"·title="lemma">Zpower_mod</span></a>·<a·id="p:27"·class="idref"·href="#p:27"><span·class="id"·title="binder">p</span></a>·<a·id="q:28"·class="idref"·href="#q:28"><span·class="id"·title="binder">q</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·:<br/> | 137 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zpower_mod"·class="idref"·href="#Zpower_mod"><span·class="id"·title="lemma">Zpower_mod</span></a>·<a·id="p:27"·class="idref"·href="#p:27"><span·class="id"·title="binder">p</span></a>·<a·id="q:28"·class="idref"·href="#q:28"><span·class="id"·title="binder">q</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·:<br/> | 
| 138 |   0·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:27"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#q:28"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:27"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">)^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#q:28"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>.<br/> | 138 |   0·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:27"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#q:28"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:27"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">)^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#q:28"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>.<br/> | 
| Offset 204, 15 lines modified | Offset 204, 15 lines modified | ||
| 204 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zdivide_power_2"·class="idref"·href="#Zdivide_power_2"><span·class="id"·title="lemma">Zdivide_power_2</span></a>·<a·id="x:61"·class="idref"·href="#x:61"><span·class="id"·title="binder">x</span></a>·<a·id="p:62"·class="idref"·href="#p:62"><span·class="id"·title="binder">p</span></a>·<a·id="n:63"·class="idref"·href="#n:63"><span·class="id"·title="binder">n</span></a>·:<br/> | 204 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zdivide_power_2"·class="idref"·href="#Zdivide_power_2"><span·class="id"·title="lemma">Zdivide_power_2</span></a>·<a·id="x:61"·class="idref"·href="#x:61"><span·class="id"·title="binder">x</span></a>·<a·id="p:62"·class="idref"·href="#p:62"><span·class="id"·title="binder">p</span></a>·<a·id="n:63"·class="idref"·href="#n:63"><span·class="id"·title="binder">n</span></a>·:<br/> | 
| 205 |  0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:63"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#prime"><span·class="id"·title="inductive">prime</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:63"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="m:64"·class="idref"·href="#m:64"><span·class="id"·title="binder">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#m:64"><span·class="id"·title="variable">m</span></a>.<br/> | 205 |  0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:63"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#prime"><span·class="id"·title="inductive">prime</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:63"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="m:64"·class="idref"·href="#m:64"><span·class="id"·title="binder">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#m:64"><span·class="id"·title="variable">m</span></a>.<br/> | 
| 206 | <br/> | 206 | <br/> | 
| 207 | </div> | 207 | </div> | 
| 208 | <div·class="doc"> | 208 | <div·class="doc"> | 
| 209 | <a·id="lab | 209 | <a·id="lab752"></a><h1·class="section">Z.square:·a·direct·definition·of·<span·class="inlinecode"><span·class="id"·title="var">z</span>^2</span></h1> | 
| 210 | </div> | 210 | </div> | 
| 211 | <div·class="code"> | 211 | <div·class="code"> | 
| 212 | <br/> | 212 | <br/> | 
| 213 | <span·class="id"·title="keyword">Notation</span>·<a·id="Psquare_correct"·class="idref"·href="#Psquare_correct"><span·class="id"·title="abbreviation">Psquare_correct</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.square_spec"><span·class="id"·title="lemma">Pos.square_spec</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 213 | <span·class="id"·title="keyword">Notation</span>·<a·id="Psquare_correct"·class="idref"·href="#Psquare_correct"><span·class="id"·title="abbreviation">Psquare_correct</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.square_spec"><span·class="id"·title="lemma">Pos.square_spec</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| 214 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsquare_correct"·class="idref"·href="#Zsquare_correct"><span·class="id"·title="abbreviation">Zsquare_correct</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.square_spec"><span·class="id"·title="lemma">Z.square_spec</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 214 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsquare_correct"·class="idref"·href="#Zsquare_correct"><span·class="id"·title="abbreviation">Zsquare_correct</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.square_spec"><span·class="id"·title="lemma">Z.square_spec</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 
| Offset 50, 15 lines modified | Offset 50, 15 lines modified | ||
| 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.ZArith.Zpow_def.html#"><span·class="id"·title="library">Zpow_def</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.ZArith.Zpow_def.html#"><span·class="id"·title="library">Zpow_def</span></a>.<br/> | 
| 51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 
| 52 | <br/> | 52 | <br/> | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="doc"> | 54 | <div·class="doc"> | 
| 55 | <a·id="lab | 55 | <a·id="lab812"></a><h1·class="section">Power·functions·over·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span></h1> | 
| 56 | <div·class="paragraph">·</div> | 56 | <div·class="paragraph">·</div> | 
| 57 | ·Nota·:·this·file·is·mostly·deprecated.·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Z.pow</span></span> | 57 | ·Nota·:·this·file·is·mostly·deprecated.·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Z.pow</span></span> | 
| 58 | ····and·its·usual·properties·are·now·provided·by·module·<span·class="inlinecode"><span·class="id"·title="var">BinInt.Z</span></span>. | 58 | ····and·its·usual·properties·are·now·provided·by·module·<span·class="inlinecode"><span·class="id"·title="var">BinInt.Z</span></span>. | 
| 59 | ····Powers·of·2·are·also·available·there·(see·<span·class="inlinecode"><span·class="id"·title="var">Z.shiftl</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.shiftr</span></span>). | 59 | ····Powers·of·2·are·also·available·there·(see·<span·class="inlinecode"><span·class="id"·title="var">Z.shiftl</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.shiftr</span></span>). | 
| 60 | ····Only·remain·here: | 60 | ····Only·remain·here: | 
| Offset 150, 15 lines modified | Offset 150, 15 lines modified | ||
| 150 | <br/> | 150 | <br/> | 
| 151 | <span·class="id"·title="keyword">Section</span>·<a·id="Powers_of_2"·class="idref"·href="#Powers_of_2"><span·class="id"·title="section">Powers_of_2</span></a>.<br/> | 151 | <span·class="id"·title="keyword">Section</span>·<a·id="Powers_of_2"·class="idref"·href="#Powers_of_2"><span·class="id"·title="section">Powers_of_2</span></a>.<br/> | 
| 152 | <br/> | 152 | <br/> | 
| 153 | </div> | 153 | </div> | 
| 154 | <div·class="doc"> | 154 | <div·class="doc"> | 
| 155 | <a·id="lab | 155 | <a·id="lab813"></a><h1·class="section">Powers·of·2</h1> | 
| 156 | <div·class="paragraph">·</div> | 156 | <div·class="paragraph">·</div> | 
| 157 | ·For·the·powers·of·two,·that·will·be·widely·used,·a·more·direct | 157 | ·For·the·powers·of·two,·that·will·be·widely·used,·a·more·direct | 
| 158 | ······calculus·is·possible.·<span·class="inlinecode"><span·class="id"·title="var">shift</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·computes·<span·class="inlinecode">2^<span·class="id"·title="var">n</span></span>·<span·class="inlinecode">*</span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>,·i.e. | 158 | ······calculus·is·possible.·<span·class="inlinecode"><span·class="id"·title="var">shift</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·computes·<span·class="inlinecode">2^<span·class="id"·title="var">n</span></span>·<span·class="inlinecode">*</span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>,·i.e. | 
| 159 | ······<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·shifted·by·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·positions· | 159 | ······<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·shifted·by·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·positions· | 
| 160 | </div> | 160 | </div> | 
| Offset 279, 15 lines modified | Offset 279, 15 lines modified | ||
| 279 | <br/> | 279 | <br/> | 
| 280 | <span·class="id"·title="keyword">Section</span>·<a·id="power_div_with_rest"·class="idref"·href="#power_div_with_rest"><span·class="id"·title="section">power_div_with_rest</span></a>.<br/> | 280 | <span·class="id"·title="keyword">Section</span>·<a·id="power_div_with_rest"·class="idref"·href="#power_div_with_rest"><span·class="id"·title="section">power_div_with_rest</span></a>.<br/> | 
| 281 | <br/> | 281 | <br/> | 
| 282 | </div> | 282 | </div> | 
| 283 | <div·class="doc"> | 283 | <div·class="doc"> | 
| 284 | <a·id="lab | 284 | <a·id="lab814"></a><h1·class="section">Division·by·a·power·of·two.</h1> | 
| 285 | <div·class="paragraph">·</div> | 285 | <div·class="paragraph">·</div> | 
| 286 | ·To·<span·class="inlinecode"><span·class="id"·title="var">x</span>:<span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">p</span>:<span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>,<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·are·associated·such·that | 286 | ·To·<span·class="inlinecode"><span·class="id"·title="var">x</span>:<span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">p</span>:<span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>,<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·are·associated·such·that | 
| 287 | ······<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode">=</span>·<span·class="inlinecode">2^<span·class="id"·title="var">p.q</span></span>·<span·class="inlinecode">+</span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·and·<span·class="inlinecode">0</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode">2^<span·class="id"·title="var">p</span></span>· | 287 | ······<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode">=</span>·<span·class="inlinecode">2^<span·class="id"·title="var">p.q</span></span>·<span·class="inlinecode">+</span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·and·<span·class="inlinecode">0</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode">2^<span·class="id"·title="var">p</span></span>· | 
| 288 | <div·class="paragraph">·</div> | 288 | <div·class="paragraph">·</div> | 
| Offset 149, 15 lines modified | Offset 149, 15 lines modified | ||
| 149 | <br/> | 149 | <br/> | 
| 150 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_rem_mult"·class="idref"·href="#Z_rem_mult"><span·class="id"·title="lemma">Z_rem_mult</span></a>·<a·id="a:6"·class="idref"·href="#a:6"><span·class="id"·title="binder">a</span></a>·<a·id="b:7"·class="idref"·href="#b:7"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.rem"><span·class="id"·title="definition">Z.rem</span></a>·(<a·class="idref"·href="Coq.ZArith.Zquot.html#a:6"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#b:7"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:7"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> | 150 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_rem_mult"·class="idref"·href="#Z_rem_mult"><span·class="id"·title="lemma">Z_rem_mult</span></a>·<a·id="a:6"·class="idref"·href="#a:6"><span·class="id"·title="binder">a</span></a>·<a·id="b:7"·class="idref"·href="#b:7"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.rem"><span·class="id"·title="definition">Z.rem</span></a>·(<a·class="idref"·href="Coq.ZArith.Zquot.html#a:6"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#b:7"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:7"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> | 
| 151 | · | 151 | · | 
| 152 | <br/> | 152 | <br/> | 
| 153 | </div> | 153 | </div> | 
| 154 | <div·class="doc"> | 154 | <div·class="doc"> | 
| 155 | <a·id="lab | 155 | <a·id="lab882"></a><h1·class="section">Division·and·Opposite</h1> | 
| 156 | </div> | 156 | </div> | 
| 157 | <div·class="code"> | 157 | <div·class="code"> | 
| 158 | <br/> | 158 | <br/> | 
| 159 | <br/> | 159 | <br/> | 
| Offset 228, 15 lines modified | Offset 228, 15 lines modified | ||
| 228 | <br/> | 228 | <br/> | 
| 229 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrem_lt_neg_neg"·class="idref"·href="#Zrem_lt_neg_neg"><span·class="id"·title="lemma">Zrem_lt_neg_neg</span></a>·<a·id="a:34"·class="idref"·href="#a:34"><span·class="id"·title="binder">a</span></a>·<a·id="b:35"·class="idref"·href="#b:35"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:34"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.rem"><span·class="id"·title="definition">Z.rem</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:34"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><=</span></a>·0.<br/> | 229 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrem_lt_neg_neg"·class="idref"·href="#Zrem_lt_neg_neg"><span·class="id"·title="lemma">Zrem_lt_neg_neg</span></a>·<a·id="a:34"·class="idref"·href="#a:34"><span·class="id"·title="binder">a</span></a>·<a·id="b:35"·class="idref"·href="#b:35"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:34"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.rem"><span·class="id"·title="definition">Z.rem</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:34"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><=</span></a>·0.<br/> | 
| 230 | <br/> | 230 | <br/> | 
| 231 | </div> | 231 | </div> | 
| 232 | <div·class="doc"> | 232 | <div·class="doc"> | 
| 233 | <a·id="lab | 233 | <a·id="lab883"></a><h1·class="section">Unicity·results</h1> | 
| 234 | </div> | 234 | </div> | 
| 235 | <div·class="code"> | 235 | <div·class="code"> | 
| 236 | <br/> | 236 | <br/> | 
| 237 | <span·class="id"·title="keyword">Definition</span>·<a·id="Remainder"·class="idref"·href="#Remainder"><span·class="id"·title="definition">Remainder</span></a>·<a·id="a:36"·class="idref"·href="#a:36"><span·class="id"·title="binder">a</span></a>·<a·id="b:37"·class="idref"·href="#b:37"><span·class="id"·title="binder">b</span></a>·<a·id="r:38"·class="idref"·href="#r:38"><span·class="id"·title="binder">r</span></a>·:=<br/> | 237 | <span·class="id"·title="keyword">Definition</span>·<a·id="Remainder"·class="idref"·href="#Remainder"><span·class="id"·title="definition">Remainder</span></a>·<a·id="a:36"·class="idref"·href="#a:36"><span·class="id"·title="binder">a</span></a>·<a·id="b:37"·class="idref"·href="#b:37"><span·class="id"·title="binder">b</span></a>·<a·id="r:38"·class="idref"·href="#r:38"><span·class="id"·title="binder">r</span></a>·:=<br/> | 
| 238 |   <a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">(</span></a>0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:38"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:37"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:37"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:38"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><=</span></a>·0<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a>.<br/> | 238 |   <a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">(</span></a>0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:38"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:37"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:37"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:38"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><=</span></a>·0<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a>.<br/> | 
| Offset 261, 15 lines modified | Offset 261, 15 lines modified | ||
| 261 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrem_unique_full"·class="idref"·href="#Zrem_unique_full"><span·class="id"·title="lemma">Zrem_unique_full</span></a>·<a·id="a:53"·class="idref"·href="#a:53"><span·class="id"·title="binder">a</span></a>·<a·id="b:54"·class="idref"·href="#b:54"><span·class="id"·title="binder">b</span></a>·<a·id="q:55"·class="idref"·href="#q:55"><span·class="id"·title="binder">q</span></a>·<a·id="r:56"·class="idref"·href="#r:56"><span·class="id"·title="binder">r</span></a>·:<br/> | 261 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrem_unique_full"·class="idref"·href="#Zrem_unique_full"><span·class="id"·title="lemma">Zrem_unique_full</span></a>·<a·id="a:53"·class="idref"·href="#a:53"><span·class="id"·title="binder">a</span></a>·<a·id="b:54"·class="idref"·href="#b:54"><span·class="id"·title="binder">b</span></a>·<a·id="q:55"·class="idref"·href="#q:55"><span·class="id"·title="binder">q</span></a>·<a·id="r:56"·class="idref"·href="#r:56"><span·class="id"·title="binder">r</span></a>·:<br/> | 
| 262 |   <a·class="idref"·href="Coq.ZArith.Zquot.html#Remainder"><span·class="id"·title="definition">Remainder</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#q:55"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.rem"><span·class="id"·title="definition">Z.rem</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</span></a>.<br/> | 262 |   <a·class="idref"·href="Coq.ZArith.Zquot.html#Remainder"><span·class="id"·title="definition">Remainder</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#q:55"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.rem"><span·class="id"·title="definition">Z.rem</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 263 | <br/> | 263 | <br/> | 
| 264 | </div> | 264 | </div> | 
| 265 | <div·class="doc"> | 265 | <div·class="doc"> | 
| 266 | <a·id="lab | 266 | <a·id="lab884"></a><h1·class="section">Order·results·about·Zrem·and·Zquot</h1> | 
| 267 | </div> | 267 | </div> | 
| 268 | <div·class="code"> | 268 | <div·class="code"> | 
| 269 | <br/> | 269 | <br/> | 
| 270 | <br/> | 270 | <br/> | 
| Offset 359, 15 lines modified | Offset 359, 15 lines modified | ||
| 359 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zquot_sgn"·class="idref"·href="#Zquot_sgn"><span·class="id"·title="lemma">Zquot_sgn</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:81"·class="idref"·href="#a:81"><span·class="id"·title="binder">a</span></a>·<a·id="b:82"·class="idref"·href="#b:82"><span·class="id"·title="binder">b</span></a>,<br/> | 359 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zquot_sgn"·class="idref"·href="#Zquot_sgn"><span·class="id"·title="lemma">Zquot_sgn</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:81"·class="idref"·href="#a:81"><span·class="id"·title="binder">a</span></a>·<a·id="b:82"·class="idref"·href="#b:82"><span·class="id"·title="binder">b</span></a>,<br/> | 
| 360 |   0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·(<a·class="idref"·href="Coq.ZArith.Zquot.html#a:81"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#576dd7a0f6e53f28cb92f8a06f69a45e"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#b:82"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:81"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:82"><span·class="id"·title="variable">b</span></a>.<br/> | 360 |   0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·(<a·class="idref"·href="Coq.ZArith.Zquot.html#a:81"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#576dd7a0f6e53f28cb92f8a06f69a45e"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#b:82"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:81"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:82"><span·class="id"·title="variable">b</span></a>.<br/> | 
| 361 | <br/> | 361 | <br/> | 
| 362 | </div> | 362 | </div> | 
| 363 | <div·class="doc"> | 363 | <div·class="doc"> | 
| 364 | <a·id="lab | 364 | <a·id="lab885"></a><h1·class="section">Relations·between·usual·operations·and·Z.modulo·and·Z.div</h1> | 
| 365 | <div·class="paragraph">·</div> | 365 | <div·class="paragraph">·</div> | 
| 366 | ·First,·a·result·that·used·to·be·always·valid·with·Zdiv, | 366 | ·First,·a·result·that·used·to·be·always·valid·with·Zdiv, | 
| 367 | ····but·must·be·restricted·here. | 367 | ····but·must·be·restricted·here. | 
| 368 | ····For·instance,·now·(9+(-5)*2)·rem·2·=·-1·<>·1·=·9·rem·2· | 368 | ····For·instance,·now·(9+(-5)*2)·rem·2·=·-1·<>·1·=·9·rem·2· | 
| 369 | </div> | 369 | </div> | 
| Offset 523, 15 lines modified | Offset 523, 15 lines modified | ||
| 523 | <br/> | 523 | <br/> | 
| 524 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zodd_rem"·class="idref"·href="#Zodd_rem"><span·class="id"·title="lemma">Zodd_rem</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:137"·class="idref"·href="#a:137"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd"><span·class="id"·title="definition">Z.odd</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:137"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eqb"><span·class="id"·title="definition">Z.eqb</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.rem"><span·class="id"·title="definition">Z.rem</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:137"><span·class="id"·title="variable">a</span></a>·2)·0).<br/> | 524 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zodd_rem"·class="idref"·href="#Zodd_rem"><span·class="id"·title="lemma">Zodd_rem</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:137"·class="idref"·href="#a:137"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd"><span·class="id"·title="definition">Z.odd</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:137"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eqb"><span·class="id"·title="definition">Z.eqb</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.rem"><span·class="id"·title="definition">Z.rem</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:137"><span·class="id"·title="variable">a</span></a>·2)·0).<br/> | 
| 525 | <br/> | 525 | <br/> | 
| 526 | </div> | 526 | </div> | 
| 527 | <div·class="doc"> | 527 | <div·class="doc"> | 
| 528 | <a·id="lab | 528 | <a·id="lab886"></a><h1·class="section">Interaction·with·"historic"·Zdiv</h1> | 
| 529 | <div·class="paragraph">·</div> | 529 | <div·class="paragraph">·</div> | 
| 530 | ·They·agree·at·least·on·positive·numbers:· | 530 | ·They·agree·at·least·on·positive·numbers:· | 
| 531 | </div> | 531 | </div> | 
| 532 | <div·class="code"> | 532 | <div·class="code"> | 
| Offset 64, 15 lines modified | Offset 64, 15 lines modified | ||
| 64 | <br/> | 64 | <br/> | 
| 65 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 65 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 
| 66 | <br/> | 66 | <br/> | 
| 67 | </div> | 67 | </div> | 
| 68 | <div·class="doc"> | 68 | <div·class="doc"> | 
| 69 | <a·id="lab | 69 | <a·id="lab827"></a><h1·class="section">Moving·terms·from·one·side·to·the·other·of·an·inequality</h1> | 
| 70 | </div> | 70 | </div> | 
| 71 | <div·class="code"> | 71 | <div·class="code"> | 
| 72 | <br/> | 72 | <br/> | 
| 73 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zne_left"·class="idref"·href="#Zne_left"><span·class="id"·title="lemma">Zne_left</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Zne"><span·class="id"·title="definition">Zne</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#m:2"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Zne"><span·class="id"·title="definition">Zne</span></a>·(<a·class="idref"·href="Coq.ZArith.auxiliary.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#m:2"><span·class="id"·title="variable">m</span></a>)·0.<br/> | 73 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zne_left"·class="idref"·href="#Zne_left"><span·class="id"·title="lemma">Zne_left</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Zne"><span·class="id"·title="definition">Zne</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#m:2"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Zne"><span·class="id"·title="definition">Zne</span></a>·(<a·class="idref"·href="Coq.ZArith.auxiliary.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#m:2"><span·class="id"·title="variable">m</span></a>)·0.<br/> | 
| Offset 140, 15 lines modified | Offset 140, 15 lines modified | ||
| 140 | <br/> | 140 | <br/> | 
| 141 | <span·class="id"·title="keyword">Section</span>·<a·id="Definitions"·class="idref"·href="#Definitions"><span·class="id"·title="section">Definitions</span></a>.<br/> | 141 | <span·class="id"·title="keyword">Section</span>·<a·id="Definitions"·class="idref"·href="#Definitions"><span·class="id"·title="section">Definitions</span></a>.<br/> | 
| 142 | <br/> | 142 | <br/> | 
| 143 | </div> | 143 | </div> | 
| 144 | <div·class="doc"> | 144 | <div·class="doc"> | 
| 145 | <a·id="lab | 145 | <a·id="lab513"></a><h1·class="section">Global,·inductive·definitions.</h1> | 
| 146 | <div·class="paragraph">·</div> | 146 | <div·class="paragraph">·</div> | 
| 147 | ·A·Horner·polynomial·is·either·a·constant,·or·a·product·P·×·(i·+·Q),·where·i· | 147 | ·A·Horner·polynomial·is·either·a·constant,·or·a·product·P·×·(i·+·Q),·where·i· | 
| 148 | ··is·a·variable.· | 148 | ··is·a·variable.· | 
| 149 | </div> | 149 | </div> | 
| 150 | <div·class="code"> | 150 | <div·class="code"> | 
| Offset 213, 15 lines modified | Offset 213, 15 lines modified | ||
| 213 | <span·class="id"·title="keyword">Program·Instance</span>·<a·id="Decidable_PosLe"·class="idref"·href="#Decidable_PosLe"><span·class="id"·title="instance">Decidable_PosLe</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="p:33"·class="idref"·href="#p:33"><span·class="id"·title="binder">p</span></a>·<a·id="q:34"·class="idref"·href="#q:34"><span·class="id"·title="binder">q</span></a>,·<a·class="idref"·href="Coq.Classes.DecidableClass.html#Decidable"><span·class="id"·title="class">Decidable</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.le"><span·class="id"·title="definition">Pos.le</span></a>·<a·class="idref"·href="Coq.btauto.Algebra.html#p:33"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.btauto.Algebra.html#q:34"><span·class="id"·title="variable">q</span></a>)·:=<br/> | 213 | <span·class="id"·title="keyword">Program·Instance</span>·<a·id="Decidable_PosLe"·class="idref"·href="#Decidable_PosLe"><span·class="id"·title="instance">Decidable_PosLe</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="p:33"·class="idref"·href="#p:33"><span·class="id"·title="binder">p</span></a>·<a·id="q:34"·class="idref"·href="#q:34"><span·class="id"·title="binder">q</span></a>,·<a·class="idref"·href="Coq.Classes.DecidableClass.html#Decidable"><span·class="id"·title="class">Decidable</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.le"><span·class="id"·title="definition">Pos.le</span></a>·<a·class="idref"·href="Coq.btauto.Algebra.html#p:33"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.btauto.Algebra.html#q:34"><span·class="id"·title="variable">q</span></a>)·:=<br/> | 
| 214 |   {·<a·class="idref"·href="Coq.Classes.DecidableClass.html#Decidable_witness"><span·class="id"·title="method">Decidable_witness</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.leb"><span·class="id"·title="definition">Pos.leb</span></a>·<span·class="id"·title="var">p</span>·<span·class="id"·title="var">q</span>·}.<br/> | 214 |   {·<a·class="idref"·href="Coq.Classes.DecidableClass.html#Decidable_witness"><span·class="id"·title="method">Decidable_witness</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.leb"><span·class="id"·title="definition">Pos.leb</span></a>·<span·class="id"·title="var">p</span>·<span·class="id"·title="var">q</span>·}.<br/> | 
| 215 | <br/> | 215 | <br/> | 
| 216 | </div> | 216 | </div> | 
| 217 | <div·class="doc"> | 217 | <div·class="doc"> | 
| 218 | <a·id="lab | 218 | <a·id="lab514"></a><h1·class="section">The·core·reflexive·part.</h1> | 
| 219 | </div> | 219 | </div> | 
| 220 | <div·class="code"> | 220 | <div·class="code"> | 
| 221 | <br/> | 221 | <br/> | 
| 222 | #[<span·class="id"·title="var">local</span>]<br/> | 222 | #[<span·class="id"·title="var">local</span>]<br/> | 
| 223 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Constructors</span>·<a·class="idref"·href="Coq.btauto.Algebra.html#valid"><span·class="id"·title="inductive">valid</span></a>·:·<span·class="id"·title="var">core</span>.<br/> | 223 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Constructors</span>·<a·class="idref"·href="Coq.btauto.Algebra.html#valid"><span·class="id"·title="inductive">valid</span></a>·:·<span·class="id"·title="var">core</span>.<br/> | 
| Offset 58, 19 lines modified | Offset 58, 19 lines modified | ||
| 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>.<br/> | 
| 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellNatNum.html#"><span·class="id"·title="library">ExtrHaskellNatNum</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellNatNum.html#"><span·class="id"·title="library">ExtrHaskellNatNum</span></a>.<br/> | 
| 60 | <br/> | 60 | <br/> | 
| 61 | </div> | 61 | </div> | 
| 62 | <div·class="doc"> | 62 | <div·class="doc"> | 
| 63 | <a·id="lab | 63 | <a·id="lab387"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> | 
| 64 | <a·id="lab | 64 | <a·id="lab388"></a><h1·class="section">by·extracting·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·into·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span>·is·definitively·*not*·a·good·idea.</h1> | 
| 65 | <a·id="lab | 65 | <a·id="lab389"></a><h1·class="section">See·comments·in·<span·class="inlinecode"><span·class="id"·title="var">ExtrOcamlNatInt.v</span></span>.</h1> | 
| 66 | · | 66 | · | 
| 67 | </div> | 67 | </div> | 
| 68 | <div·class="code"> | 68 | <div·class="code"> | 
| 69 | <br/> | 69 | <br/> | 
| 70 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·"Prelude.Int"·[·"0"·"Prelude.succ"·]<br/> | 70 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·"Prelude.Int"·[·"0"·"Prelude.succ"·]<br/> | 
| Offset 58, 19 lines modified | Offset 58, 19 lines modified | ||
| 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>.<br/> | 
| 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellNatNum.html#"><span·class="id"·title="library">ExtrHaskellNatNum</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellNatNum.html#"><span·class="id"·title="library">ExtrHaskellNatNum</span></a>.<br/> | 
| 60 | <br/> | 60 | <br/> | 
| 61 | </div> | 61 | </div> | 
| 62 | <div·class="doc"> | 62 | <div·class="doc"> | 
| 63 | <a·id="lab | 63 | <a·id="lab384"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> | 
| 64 | <a·id="lab | 64 | <a·id="lab385"></a><h1·class="section">by·extracting·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·into·<span·class="inlinecode"><span·class="id"·title="var">Integer</span></span>·isn't·necessarily·a·good·idea.</h1> | 
| 65 | <a·id="lab | 65 | <a·id="lab386"></a><h1·class="section">See·comments·in·<span·class="inlinecode"><span·class="id"·title="var">ExtrOcamlNatInt.v</span></span>.</h1> | 
| 66 | </div> | 66 | </div> | 
| 67 | <div·class="code"> | 67 | <div·class="code"> | 
| 68 | <br/> | 68 | <br/> | 
| 69 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·"Prelude.Integer"·[·"0"·"Prelude.succ"·]<br/> | 69 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·"Prelude.Integer"·[·"0"·"Prelude.succ"·]<br/> | 
| Offset 43, 23 lines modified | Offset 43, 23 lines modified | ||
| 43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellNatNum</h1> | 43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellNatNum</h1> | 
| 44 | <div·class="code"> | 44 | <div·class="code"> | 
| 45 | </div> | 45 | </div> | 
| 46 | <div·class="doc"> | 46 | <div·class="doc"> | 
| 47 | <a·id="lab | 47 | <a·id="lab390"></a><h1·class="section">Efficient·(but·uncertified)·extraction·of·usual·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·functions</h1> | 
| 48 | <a·id="lab | 48 | <a·id="lab391"></a><h1·class="section">into·equivalent·versions·in·Haskell's·Prelude·that·are·defined</h1> | 
| 49 | <a·id="lab | 49 | <a·id="lab392"></a><h1·class="section">for·any·<span·class="inlinecode"><span·class="id"·title="var">Num</span></span>·typeclass·instances.··Useful·in·combination·with</h1> | 
| 50 | <a·id="lab | 50 | <a·id="lab393"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="keyword">Extract</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Inductive</span></span>·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·that·maps·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·onto·a·Haskell·type·that</h1> | 
| 51 | <a·id="lab | 51 | <a·id="lab394"></a><h1·class="section">implements·<span·class="inlinecode"><span·class="id"·title="var">Num</span></span>.</h1> | 
| 52 | · | 52 | · | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="code"> | 54 | <div·class="code"> | 
| 55 | <br/> | 55 | <br/> | 
| 56 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> | 56 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> | 
| Offset 43, 15 lines modified | Offset 43, 15 lines modified | ||
| 43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellString</h1> | 43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellString</h1> | 
| 44 | <div·class="code"> | 44 | <div·class="code"> | 
| 45 | </div> | 45 | </div> | 
| 46 | <div·class="doc"> | 46 | <div·class="doc"> | 
| 47 | <a·id="lab | 47 | <a·id="lab400"></a><h1·class="section">Special·handling·of·ascii·and·strings·for·extraction·to·Haskell.</h1> | 
| 48 | · | 48 | · | 
| 49 | </div> | 49 | </div> | 
| 50 | <div·class="code"> | 50 | <div·class="code"> | 
| 51 | <br/> | 51 | <br/> | 
| 52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> | 
| Offset 64, 24 lines modified | Offset 64, 24 lines modified | ||
| 64 | <br/> | 64 | <br/> | 
| 65 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellBasic.html#"><span·class="id"·title="library">ExtrHaskellBasic</span></a>.<br/> | 65 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellBasic.html#"><span·class="id"·title="library">ExtrHaskellBasic</span></a>.<br/> | 
| 66 | <br/> | 66 | <br/> | 
| 67 | </div> | 67 | </div> | 
| 68 | <div·class="doc"> | 68 | <div·class="doc"> | 
| 69 | <a·id="lab | 69 | <a·id="lab401"></a><h1·class="section">At·the·moment,·Coq's·extraction·has·no·way·to·add·extra·import</h1> | 
| 70 | <a·id="lab | 70 | <a·id="lab402"></a><h1·class="section">statements·to·the·extracted·Haskell·code.··You·will·have·to</h1> | 
| 71 | <a·id="lab | 71 | <a·id="lab403"></a><h1·class="section">manually·add:</h1> | 
| 72 | ·* | 72 | ·* | 
| 73 | <a·id="lab | 73 | <a·id="lab404"></a><h1·class="section">import·qualified·Data.Bits</h1> | 
| 74 | <a·id="lab | 74 | <a·id="lab405"></a><h1·class="section">import·qualified·Data.Char</h1> | 
| 75 | · | 75 | · | 
| 76 | </div> | 76 | </div> | 
| 77 | <div·class="code"> | 77 | <div·class="code"> | 
| 78 | <br/> | 78 | <br/> | 
| 79 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#ascii"><span·class="id"·title="inductive">ascii</span></a>·=>·"Prelude.Char"<br/> | 79 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#ascii"><span·class="id"·title="inductive">ascii</span></a>·=>·"Prelude.Char"<br/> | 
| Offset 58, 19 lines modified | Offset 58, 19 lines modified | ||
| 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> | 
| 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellZNum.html#"><span·class="id"·title="library">ExtrHaskellZNum</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellZNum.html#"><span·class="id"·title="library">ExtrHaskellZNum</span></a>.<br/> | 
| 60 | <br/> | 60 | <br/> | 
| 61 | </div> | 61 | </div> | 
| 62 | <div·class="doc"> | 62 | <div·class="doc"> | 
| 63 | <a·id="lab | 63 | <a·id="lab381"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> | 
| 64 | <a·id="lab | 64 | <a·id="lab382"></a><h1·class="section">by·extracting·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·into·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span>·is·definitively·*not*·a·good·idea.</h1> | 
| 65 | <a·id="lab | 65 | <a·id="lab383"></a><h1·class="section">See·comments·in·<span·class="inlinecode"><span·class="id"·title="var">ExtrOcamlNatInt.v</span></span>.</h1> | 
| 66 | · | 66 | · | 
| 67 | </div> | 67 | </div> | 
| 68 | <div·class="code"> | 68 | <div·class="code"> | 
| 69 | <br/> | 69 | <br/> | 
| 70 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·=>·"Prelude.Int"·[<br/> | 70 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·=>·"Prelude.Int"·[<br/> | 
| Offset 43, 23 lines modified | Offset 43, 23 lines modified | ||
| 43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellZNum</h1> | 43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellZNum</h1> | 
| 44 | <div·class="code"> | 44 | <div·class="code"> | 
| 45 | </div> | 45 | </div> | 
| 46 | <div·class="doc"> | 46 | <div·class="doc"> | 
| 47 | <a·id="lab | 47 | <a·id="lab395"></a><h1·class="section">Efficient·(but·uncertified)·extraction·of·usual·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·functions</h1> | 
| 48 | <a·id="lab | 48 | <a·id="lab396"></a><h1·class="section">into·equivalent·versions·in·Haskell's·Prelude·that·are·defined</h1> | 
| 49 | <a·id="lab | 49 | <a·id="lab397"></a><h1·class="section">for·any·<span·class="inlinecode"><span·class="id"·title="var">Num</span></span>·typeclass·instances.··Useful·in·combination·with</h1> | 
| 50 | <a·id="lab | 50 | <a·id="lab398"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="keyword">Extract</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Inductive</span></span>·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·that·maps·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·onto·a·Haskell·type·that</h1> | 
| 51 | <a·id="lab | 51 | <a·id="lab399"></a><h1·class="section">implements·<span·class="inlinecode"><span·class="id"·title="var">Num</span></span>.</h1> | 
| 52 | · | 52 | · | 
| 53 | </div> | 53 | </div> | 
| 54 | <div·class="code"> | 54 | <div·class="code"> | 
| 55 | <br/> | 55 | <br/> | 
| 56 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> | 56 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> | 
| Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
| 51 | <br/> | 51 | <br/> | 
| 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 
| 53 | <br/> | 53 | <br/> | 
| 54 | </div> | 54 | </div> | 
| 55 | <div·class="doc"> | 55 | <div·class="doc"> | 
| 56 | <a·id="lab | 56 | <a·id="lab887"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">Z.div_mod_to_equations</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z.quot_rem_to_equations</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z.to_euclidean_division_equations</span></span>:</h1> | 
| 57 | ·····the·tactics·for·preprocessing·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.modulo</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.rem</span></span>· | 57 | ·····the·tactics·for·preprocessing·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.modulo</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.rem</span></span>· | 
| 58 | <div·class="paragraph">·</div> | 58 | <div·class="paragraph">·</div> | 
| 59 | ·These·tactics·use·the·complete·specification·of·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and | 59 | ·These·tactics·use·the·complete·specification·of·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and | 
| 60 | ····<span·class="inlinecode"><span·class="id"·title="var">Z.modulo</span></span>·(<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.rem</span></span>,·respectively)·to·remove·these | 60 | ····<span·class="inlinecode"><span·class="id"·title="var">Z.modulo</span></span>·(<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.rem</span></span>,·respectively)·to·remove·these | 
| 61 | ····functions·from·the·goal·without·losing·information.··The | 61 | ····functions·from·the·goal·without·losing·information.··The | 
| Offset 525, 16 lines modified | Offset 525, 16 lines modified | ||
| 525 | </table> | 525 | </table> | 
| 526 | <hr/><a·id="global_T"></a><h2>T·</h2> | 526 | <hr/><a·id="global_T"></a><h2>T·</h2> | 
| 527 | <a·href="Coq.Init.Nat.html#t">t</a>·[definition,·in·<a·href="Coq.Init.Nat.html">Coq.Init.Nat</a>]<br/> | 527 | <a·href="Coq.Init.Nat.html#t">t</a>·[definition,·in·<a·href="Coq.Init.Nat.html">Coq.Init.Nat</a>]<br/> | 
| 528 | <a·href="Coq.Vectors.Fin.html#t">t</a>·[inductive,·in·<a·href="Coq.Vectors.Fin.html">Coq.Vectors.Fin</a>]<br/> | 528 | <a·href="Coq.Vectors.Fin.html#t">t</a>·[inductive,·in·<a·href="Coq.Vectors.Fin.html">Coq.Vectors.Fin</a>]<br/> | 
| 529 | <a·href="Coq.micromega.VarMap.html#t">t</a>·[abbreviation,·in·<a·href="Coq.micromega.VarMap.html">Coq.micromega.VarMap</a>]<br/> | 529 | <a·href="Coq.micromega.VarMap.html#t">t</a>·[abbreviation,·in·<a·href="Coq.micromega.VarMap.html">Coq.micromega.VarMap</a>]<br/> | 
| 530 | <a·href="Coq.micromega.VarMap.html#t">t</a>·[inductive,·in·<a·href="Coq.micromega.VarMap.html">Coq.micromega.VarMap</a>]<br/> | 530 | <a·href="Coq.micromega.VarMap.html#t">t</a>·[inductive,·in·<a·href="Coq.micromega.VarMap.html">Coq.micromega.VarMap</a>]<br/> | 
| 531 | <a·href="Coq.Vectors.VectorDef.html#t">t</a>·[inductive,·in·<a·href="Coq.Vectors.VectorDef.html">Coq.Vectors.VectorDef</a>]<br/> | 531 | <a·href="Coq.Vectors.VectorDef.html#t">t</a>·[inductive,·in·<a·href="Coq.Vectors.VectorDef.html">Coq.Vectors.VectorDef</a>]<br/> | 
| 532 | <a·href="Coq.Init.Tactics.html">Tactics</a>·[library]<br/> | ||
| 533 | <a·href="Coq.Program.Tactics.html">Tactics</a>·[library]<br/> | 532 | <a·href="Coq.Program.Tactics.html">Tactics</a>·[library]<br/> | 
| 533 | <a·href="Coq.Init.Tactics.html">Tactics</a>·[library]<br/> | ||
| 534 | <a·href="Coq.ssr.ssreflect.html#tactic_view">tactic_view</a>·[constructor,·in·<a·href="Coq.ssr.ssreflect.html">Coq.ssr.ssreflect</a>]<br/> | 534 | <a·href="Coq.ssr.ssreflect.html#tactic_view">tactic_view</a>·[constructor,·in·<a·href="Coq.ssr.ssreflect.html">Coq.ssr.ssreflect</a>]<br/> | 
| 535 | <a·href="Coq.rtauto.Bintree.html#Tadd">Tadd</a>·[definition,·in·<a·href="Coq.rtauto.Bintree.html">Coq.rtauto.Bintree</a>]<br/> | 535 | <a·href="Coq.rtauto.Bintree.html#Tadd">Tadd</a>·[definition,·in·<a·href="Coq.rtauto.Bintree.html">Coq.rtauto.Bintree</a>]<br/> | 
| 536 | <a·href="Coq.ssr.ssrfun.html#tag">tag</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 536 | <a·href="Coq.ssr.ssrfun.html#tag">tag</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 
| 537 | <a·href="Coq.ssr.ssrfun.html#Tag">Tag</a>·[section,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 537 | <a·href="Coq.ssr.ssrfun.html#Tag">Tag</a>·[section,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 
| 538 | <a·href="Coq.ssr.ssrfun.html#Tagged">Tagged</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 538 | <a·href="Coq.ssr.ssrfun.html#Tagged">Tagged</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 
| 539 | <a·href="Coq.ssr.ssrfun.html#tagged">tagged</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 539 | <a·href="Coq.ssr.ssrfun.html#tagged">tagged</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 
| 540 | <a·href="Coq.ssr.ssrfun.html#Tagged2">Tagged2</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 540 | <a·href="Coq.ssr.ssrfun.html#Tagged2">Tagged2</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 
| Offset 954, 16 lines modified | Offset 954, 16 lines modified | ||
| 954 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s''">WEqProperties_fun.BasicProperties.s''</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 954 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s''">WEqProperties_fun.BasicProperties.s''</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 
| 955 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s'">WEqProperties_fun.BasicProperties.s'</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 955 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s'">WEqProperties_fun.BasicProperties.s'</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 
| 956 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s">WEqProperties_fun.BasicProperties.s</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 956 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s">WEqProperties_fun.BasicProperties.s</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 
| 957 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties">WEqProperties_fun.BasicProperties</a>·[section,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 957 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties">WEqProperties_fun.BasicProperties</a>·[section,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 
| 958 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.Add">WEqProperties_fun.Add</a>·[definition,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 958 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.Add">WEqProperties_fun.Add</a>·[definition,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 
| 959 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.MP">WEqProperties_fun.MP</a>·[module,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 959 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.MP">WEqProperties_fun.MP</a>·[module,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 
| 960 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun">WEqProperties_fun</a>·[module,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 960 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun">WEqProperties_fun</a>·[module,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 
| 961 | <a·href="Coq.Init.Wf.html">Wf</a>·[library]<br/> | ||
| 962 | <a·href="Coq.Program.Wf.html">Wf</a>·[library]<br/> | 961 | <a·href="Coq.Program.Wf.html">Wf</a>·[library]<br/> | 
| 962 | <a·href="Coq.Init.Wf.html">Wf</a>·[library]<br/> | ||
| 963 | <a·href="Coq.FSets.FMapFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FMapFacts.html">Coq.FSets.FMapFacts</a>]<br/> | 963 | <a·href="Coq.FSets.FMapFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FMapFacts.html">Coq.FSets.FMapFacts</a>]<br/> | 
| 964 | <a·href="Coq.MSets.MSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 964 | <a·href="Coq.MSets.MSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 
| 965 | <a·href="Coq.FSets.FSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FSetFacts.html">Coq.FSets.FSetFacts</a>]<br/> | 965 | <a·href="Coq.FSets.FSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FSetFacts.html">Coq.FSets.FSetFacts</a>]<br/> | 
| 966 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn">WFactsOn</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 966 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn">WFactsOn</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 
| 967 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_s_m">WFactsOn.add_s_m</a>·[instance,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 967 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_s_m">WFactsOn.add_s_m</a>·[instance,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 
| 968 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_m">WFactsOn.add_m</a>·[instance,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 968 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_m">WFactsOn.add_m</a>·[instance,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 
| 969 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_neq_b">WFactsOn.add_neq_b</a>·[lemma,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 969 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_neq_b">WFactsOn.add_neq_b</a>·[lemma,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 
| Offset 520, 16 lines modified | Offset 520, 16 lines modified | ||
| 520 | <td><a·href="index_record_Z.html">Z</a></td> | 520 | <td><a·href="index_record_Z.html">Z</a></td> | 
| 521 | <td>_</td> | 521 | <td>_</td> | 
| 522 | <td>other</td> | 522 | <td>other</td> | 
| 523 | <td>(166·entries)</td> | 523 | <td>(166·entries)</td> | 
| 524 | </tr> | 524 | </tr> | 
| 525 | </table> | 525 | </table> | 
| 526 | <hr/><a·id="library_T"></a><h2>T·(library)</h2> | 526 | <hr/><a·id="library_T"></a><h2>T·(library)</h2> | 
| 527 | <a·href="Coq.Init.Tactics.html">Tactics</a>·<br/> | ||
| 528 | <a·href="Coq.Program.Tactics.html">Tactics</a>·<br/> | 527 | <a·href="Coq.Program.Tactics.html">Tactics</a>·<br/> | 
| 528 | <a·href="Coq.Init.Tactics.html">Tactics</a>·<br/> | ||
| 529 | <a·href="Coq.micromega.Tauto.html">Tauto</a>·<br/> | 529 | <a·href="Coq.micromega.Tauto.html">Tauto</a>·<br/> | 
| 530 | <a·href="Coq.Init.Tauto.html">Tauto</a>·<br/> | 530 | <a·href="Coq.Init.Tauto.html">Tauto</a>·<br/> | 
| 531 | <a·href="Coq.Wellfounded.Transitive_Closure.html">Transitive_Closure</a>·<br/> | 531 | <a·href="Coq.Wellfounded.Transitive_Closure.html">Transitive_Closure</a>·<br/> | 
| 532 | <a·href="Ltac2.TransparentState.html">TransparentState</a>·<br/> | 532 | <a·href="Ltac2.TransparentState.html">TransparentState</a>·<br/> | 
| 533 | <br/><br/>····<div·id="sidebarWrapper"> | 533 | <br/><br/>····<div·id="sidebarWrapper"> | 
| 534 | ······<div·id="sidebar"> | 534 | ······<div·id="sidebar"> | 
| 535 | ········<div·class="block"> | 535 | ········<div·class="block"> | 
| Offset 523, 16 lines modified | Offset 523, 16 lines modified | ||
| 523 | <td>(166·entries)</td> | 523 | <td>(166·entries)</td> | 
| 524 | </tr> | 524 | </tr> | 
| 525 | </table> | 525 | </table> | 
| 526 | <hr/><a·id="library_W"></a><h2>W·(library)</h2> | 526 | <hr/><a·id="library_W"></a><h2>W·(library)</h2> | 
| 527 | <a·href="Coq.Logic.WeakFan.html">WeakFan</a>·<br/> | 527 | <a·href="Coq.Logic.WeakFan.html">WeakFan</a>·<br/> | 
| 528 | <a·href="Coq.Wellfounded.Wellfounded.html">Wellfounded</a>·<br/> | 528 | <a·href="Coq.Wellfounded.Wellfounded.html">Wellfounded</a>·<br/> | 
| 529 | <a·href="Coq.Wellfounded.Well_Ordering.html">Well_Ordering</a>·<br/> | 529 | <a·href="Coq.Wellfounded.Well_Ordering.html">Well_Ordering</a>·<br/> | 
| 530 | <a·href="Coq.Init.Wf.html">Wf</a>·<br/> | ||
| 531 | <a·href="Coq.Program.Wf.html">Wf</a>·<br/> | 530 | <a·href="Coq.Program.Wf.html">Wf</a>·<br/> | 
| 531 | <a·href="Coq.Init.Wf.html">Wf</a>·<br/> | ||
| 532 | <a·href="Coq.Arith.Wf_nat.html">Wf_nat</a>·<br/> | 532 | <a·href="Coq.Arith.Wf_nat.html">Wf_nat</a>·<br/> | 
| 533 | <a·href="Coq.ZArith.Wf_Z.html">Wf_Z</a>·<br/> | 533 | <a·href="Coq.ZArith.Wf_Z.html">Wf_Z</a>·<br/> | 
| 534 | <a·href="Coq.Logic.WKL.html">WKL</a>·<br/> | 534 | <a·href="Coq.Logic.WKL.html">WKL</a>·<br/> | 
| 535 | <br/><br/>····<div·id="sidebarWrapper"> | 535 | <br/><br/>····<div·id="sidebarWrapper"> | 
| 536 | ······<div·id="sidebar"> | 536 | ······<div·id="sidebar"> | 
| 537 | ········<div·class="block"> | 537 | ········<div·class="block"> | 
| 538 | ··········<h2·class="title">Navigation</h2> | 538 | ··········<h2·class="title">Navigation</h2> |