{"efVersion":"0.11.7","efModuleName":["Data","EuclideanRing"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},["Data","CommutativeRing"],{"TypeClassRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},"CommutativeRing"]}]},{"ReExportRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},["Data","Ring"],{"TypeClassRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},"Ring"]}]},{"ReExportRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},["Data","Semiring"],{"TypeClassRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},"Semiring"]}]},{"ReExportRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},["Data","Semiring"],{"ValueRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},{"Ident":"add"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},["Data","Semiring"],{"ValueRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},{"Ident":"mul"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},["Data","Semiring"],{"ValueRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},{"Ident":"one"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},["Data","Ring"],{"ValueRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},{"Ident":"sub"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},["Data","Semiring"],{"ValueRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},{"Ident":"zero"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},["Data","Semiring"],{"ValueOpRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},"*"]}]},{"ReExportRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},["Data","Semiring"],{"ValueOpRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},"+"]}]},{"ReExportRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},["Data","Ring"],{"ValueOpRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},"-"]}]},{"TypeClassRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},"EuclideanRing"]},{"ValueRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},{"Ident":"degree"}]},{"ValueRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},{"Ident":"div"}]},{"ValueRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},{"Ident":"mod"}]},{"ValueOpRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},"/"]},{"ValueRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},{"Ident":"gcd"}]},{"ValueRef":[{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]},{"Ident":"lcm"}]},{"ModuleRef":[{"start":[5,5],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[5,32]},["Data","CommutativeRing"]]},{"ModuleRef":[{"start":[6,5],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[6,21]},["Data","Ring"]]},{"ModuleRef":[{"start":[7,5],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[7,25]},["Data","Semiring"]]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"euclideanRingInt"}]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"euclideanRingNumber"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Data","BooleanAlgebra"],"eiImportType":{"Explicit":[{"ValueOpRef":[{"start":[10,29],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[10,33]},"||"]}]},"eiImportedAs":null},{"eiModule":["Data","CommutativeRing"],"eiImportType":{"Explicit":[{"TypeClassRef":[{"start":[11,30],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[11,51]},"CommutativeRing"]}]},"eiImportedAs":null},{"eiModule":["Data","Eq"],"eiImportType":{"Explicit":[{"TypeClassRef":[{"start":[12,17],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[12,25]},"Eq"]},{"ValueOpRef":[{"start":[12,27],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[12,31]},"=="]}]},"eiImportedAs":null},{"eiModule":["Data","Ring"],"eiImportType":{"Explicit":[{"TypeClassRef":[{"start":[13,19],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[13,29]},"Ring"]},{"ValueRef":[{"start":[13,31],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[13,34]},{"Ident":"sub"}]},{"ValueOpRef":[{"start":[13,36],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[13,39]},"-"]}]},"eiImportedAs":null},{"eiModule":["Data","Semiring"],"eiImportType":{"Explicit":[{"TypeClassRef":[{"start":[14,23],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[14,37]},"Semiring"]},{"ValueRef":[{"start":[14,39],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[14,42]},{"Ident":"add"}]},{"ValueRef":[{"start":[14,44],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[14,47]},{"Ident":"mul"}]},{"ValueRef":[{"start":[14,49],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[14,52]},{"Ident":"one"}]},{"ValueRef":[{"start":[14,54],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[14,58]},{"Ident":"zero"}]},{"ValueOpRef":[{"start":[14,60],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[14,63]},"*"]},{"ValueOpRef":[{"start":[14,65],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[14,68]},"+"]}]},"eiImportedAs":null}],"efFixities":[{"efAssociativity":"infixl","efPrecedence":7,"efOperator":"/","efAlias":[["Data","EuclideanRing"],{"Left":{"Ident":"div"}}]}],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"EuclideanRing","edTypeKind":{"tag":"FunKind","contents":[{"tag":"NamedKind","contents":[["Prim"],"Type"]},{"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"EuclideanRing","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"tag":"RCons","contents":["degree",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"tag":"RCons","contents":["div",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"RCons","contents":["mod",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"RCons","contents":["CommutativeRing0",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"tag":"REmpty"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","CommutativeRing"],"CommutativeRing"]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"REmpty"}]}]}]}]}]}}},{"EDClass":{"edClassName":"EuclideanRing","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"degree"},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]}],[{"Ident":"div"},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]}],[{"Ident":"mod"},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]}]],"edClassConstraints":[{"constraintClass":[["Data","CommutativeRing"],"CommutativeRing"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null}],"edFunctionalDependencies":[]}},{"EDValue":{"edValueName":{"Ident":"degree"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ConstrainedType","contents":[{"constraintClass":[["Data","EuclideanRing"],"EuclideanRing"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]}]},7]}}},{"EDValue":{"edValueName":{"Ident":"div"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ConstrainedType","contents":[{"constraintClass":[["Data","EuclideanRing"],"EuclideanRing"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]}]},4]}}},{"EDValue":{"edValueName":{"Ident":"mod"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ConstrainedType","contents":[{"constraintClass":[["Data","EuclideanRing"],"EuclideanRing"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]}]},0]}}},{"EDValue":{"edValueName":{"Ident":"gcd"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ConstrainedType","contents":[{"constraintClass":[["Data","Eq"],"Eq"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null},{"tag":"ConstrainedType","contents":[{"constraintClass":[["Data","EuclideanRing"],"EuclideanRing"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]}]}]},1]}}},{"EDValue":{"edValueName":{"Ident":"lcm"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ConstrainedType","contents":[{"constraintClass":[["Data","Eq"],"Eq"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null},{"tag":"ConstrainedType","contents":[{"constraintClass":[["Data","EuclideanRing"],"EuclideanRing"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]}]}]},5]}}},{"EDInstance":{"edInstanceClassName":[["Data","EuclideanRing"],"EuclideanRing"],"edInstanceName":{"Ident":"euclideanRingInt"},"edInstanceTypes":[{"tag":"TypeConstructor","contents":[["Prim"],"Int"]}],"edInstanceConstraints":[]}},{"EDInstance":{"edInstanceClassName":[["Data","EuclideanRing"],"EuclideanRing"],"edInstanceName":{"Ident":"euclideanRingNumber"},"edInstanceTypes":[{"tag":"TypeConstructor","contents":[["Prim"],"Number"]}],"edInstanceConstraints":[]}}],"efSourceSpan":{"start":[1,1],"name":"/Users/hrajchert/Google Drive/Projects/Purescript/gh-repo-sync/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[79,24]}}