akshobhya1234 / agda-algebra Goto Github PK
View Code? Open in Web Editor NEWA new Algebra library for Agda
License: MIT License
A new Algebra library for Agda
License: MIT License
Wait for stdlib release 2.0 to setup workflow.
When defining direct product of quasigroup as
quasigroup : Quasigroup a ℓ₁ → Quasigroup b ℓ₂ → Quasigroup (a ⊔ b) (ℓ₁ ⊔ ℓ₂)
quasigroup M N = record
{ Carrier = M.Carrier × N.Carrier
; ≈ = Pointwise {! M.≈ !} {! !}
; ∙ = zip M.∙ N.∙
; \ = zip M.\ N.\
; // = zip M.// N.//
; isQuasigroup = record
{ isEquivalence = ×-isEquivalence M.isEquivalence N.isEquivalence
; ∙-cong = zip M.∙-cong N.∙-cong
; \-cong = zip M.\-cong N.\-cong
; //-cong = zip M.//-cong N.//-cong
; leftDivides = (λ x y → M.leftDividesˡ , N.leftDividesˡ <> x <> y) , (λ x y → M.leftDividesʳ , N.leftDividesʳ <> x <> y)
; rightDivides = (λ x y → M.rightDividesˡ , N.rightDividesˡ <> x <> y) , (λ x y → M.rightDividesʳ , N.rightDividesʳ <> x <> y)
}
} where module M = Quasigroup M; module N = Quasigroup N
It says "Cannot resolve overloaded projection ≈ because it is not applied to a visible argument when inferring the type of M.≈"
@JacquesCarette Can you have a look at it.
Find better names for MoufangIdentity ?
Agda-Algebra/src/Loop/Definitions.agda
Line 19 in 48c7408
In stdlib, we define Quasigroup as magma with inverse as in . But in Ncatlab they mention that "In the absence of associativity, it is not enough to say that every element has an inverse element; instead, you must say that division is always possible."
Here we define quasigroup identities as in the Universal Algebra section on Wikipedia with 2 division operators.
Also latin square property is defined
https://github.com/Akshobhya1234/agda-NonAssociativeAlgebra/blob/5757fb6638283a816814b1049530b650d330fa4c/src/Quasigroup/Definitions.agda#L25
If we define as in the Universal Algebra section on Wikipedia, It will have 3 binary operators. How can we extend this to define Loops and Group?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.