Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
-- This file: -- http://angg.twu.net/IDRIS/HAJ.idr.html -- http://angg.twu.net/IDRIS/HAJ.idr -- (find-angg "IDRIS/HAJ.idr") -- Author: Eduardo Ochs <eduardoochs@gmail.com> -- -- An implementation in Idris of the Heyting Algebras with -- J-operators of these two papers: -- (find-math-b-links "zhas-for-children-2" "2017planar-has-1") -- (find-math-b-links "zhas-for-children-2" "2020J-ops-new") -- (find-pdf-page "~/LATEX/2017planar-has-1.pdf") -- (find-pdf-page "~/LATEX/2017planar-has-1.pdf" 20 "HAs: tree rules") -- (find-pdf-page "~/LATEX/2017planar-has-1.pdf" 22 "HAs: intros and elims") -- (find-pdf-page "~/LATEX/2020J-ops-new.pdf") -- (find-pdf-page "~/LATEX/2020J-ops-new.pdf" 8 "J-ops: J1, J2, J3") -- (find-pdf-page "~/LATEX/2020J-ops-new.pdf" 9 "J-ops: basic derived rules") -- http://angg.twu.net/LATEX/2017planar-has-1.pdf#page=20 -- http://angg.twu.net/LATEX/2017planar-has-1.pdf#page=22 -- http://angg.twu.net/LATEX/2020J-ops-new.pdf#page=8 -- http://angg.twu.net/LATEX/2020J-ops-new.pdf#page=9 -- http://angg.twu.net/math-b.html#zhas-for-children-2 -- -- Date: 2020dec22 -- Status: ex-broken record HAJ where constructor MkHAJ o_H : Type le : o_H -> o_H -> Type refl : (p : o_H) -> le p p trans : {p, q, r : o_H} -> le p q -> le q r -> le p r antisym : {p, q : o_H} -> le p q -> le q p -> p = q top, bot : o_H and, or, imp : o_H -> o_H -> o_H -- ande1 : {p, q, r : o_H} -> le p (and q r) -> le p q ande2 : {p, q, r : o_H} -> le p (and q r) -> le p r andi : {p, q, r : o_H} -> le p q -> le p r -> le p (and q r) -- ore1 : {p, q, r : o_H} -> le (or p q) r -> le p r ore2 : {p, q, r : o_H} -> le (or p q) r -> le q r ori3 : {p, q, r : o_H} -> le p r -> le q r -> le (or p q) r -- impe : {p, q, r : o_H} -> le p (imp q r) -> le (and p q) r impi : {p, q, r : o_H} -> le (and p q) r -> le p (imp q r) -- o_J : o_H -> o_H o_J1 : {p : o_H} -> le p (o_J p) o_J2 : {p : o_H} -> (o_J p) = (o_J (o_J p)) o_J3 : {p, q : o_H} -> and (o_J p) (o_J q) = o_J (and p q) -- (ph1 "logic-in-HAs") -- (ph1p 18 "logic-in-HAs") -- (ph1p 19 "logic-in-HAs" "...can be rewritten as tree rules as:") -- http://angg.twu.net/LATEX/2017planar-has-1.pdf -- -- P<=Q&R P<=Q&R P<=Q P<=R -- ------ande1 ------ande2 -----------andi -- P<=Q P<=R P<=Q&R -- -- PvQ<=R PvQ<=R P<=R Q<=R -- ------ore1 ------ore2 -----------ori -- P<=R Q<=R PvQ<=R -- -- P<=Q->R P&Q<=R -- -------impe -------impi -- P&Q<=R P<=Q->R -- -- -----J1 ------J1 ------------J3 -- P<=P* P*=P** P*&Q*=(P&Q)* myHAJ : HAJ tv_P : o_H myHAJ tv_Q : o_H myHAJ tv_PandQ : myHAJ.and tv_P tv_Q prf_PandQ : tv_PandQ -- (find-eepitch-intro "3. Test blocks") -- {- * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) idris2 HAJ.idr :r :t tv_P :t tv_Q :t myHAJ.and :t myP :t HAJ.and :t HAJ.and myHAJ :t HAJ.and myHAJ myP myQ :t HAJ.and {myHAJ} :t myp :t and myp myq :t and :t HAJ.and :t HAJ.and myp myq and myhaj and myhaj myp myq :t and myhaj myp myq :r :? -- Error: -- 1/1: Building HAJ (HAJ.idr) -- HAJ.idr:28:3--28:3:Parse error: Expected end of input (next tokens: -- [symbol _, identifier H, symbol :, identifier Type, identifier le, -- symbol :, symbol _, identifier H, symbol ->, symbol _]) -} {- -- This file compiles without errors in Idris 1.3.2... -- Test: * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) idris HAJ.idr :t myhaj :t o_H myhaj :r -}