
The MathScheme Library: Some Preliminary Experiments Jacques Carette, William M. Farmer, Filip Jeremic, Vincent Maccio, Russell O'Connor and Quang M. Tran McMaster University CICM 2011, Bertinoro, Italy 22nd July 2011 Overview With MathScheme, we wish to significantly advance the capabilities of mechanized mathematics systems. To achieve this, we need to (at least): I Learn from previous systems, I Learn from experiments whether our own ideas will work. Here we present 3 such experiments in \library building": Abstract Theories, Concrete Theories and Applied Universal Algebra Experimental set-up I Pick a topic which needs implemented, I Collect ideas for implementation (old and new), I Build enough to be be able to see patterns, I Evaluate results. See WiP paper for a lot more details. Carette, Farmer, et al MathScheme Library: Experiments 2/7 More precisely: the presentations of theories are related. Main Idea: Tiny Theories. Build up \network" one concept at a time. Experiment 1: Abstract Theories The Theories of mathematics are highly related: Ring := combine Rng, SemiRing over Semirng F i e l d := combine DivisionRing , CommutativeRing over Ring Carette, Farmer, et al MathScheme Library: Experiments 3/7 Main Idea: Tiny Theories. Build up \network" one concept at a time. Experiment 1: Abstract Theories The Theories of mathematics are highly related: Ring := combine Rng, SemiRing over Semirng F i e l d := combine DivisionRing , CommutativeRing over Ring More precisely: the presentations of theories are related. Carette, Farmer, et al MathScheme Library: Experiments 3/7 Experiment 1: Abstract Theories The Theories of mathematics are highly related: Ring := combine Rng, SemiRing over Semirng F i e l d := combine DivisionRing , CommutativeRing over Ring More precisely: the presentations of theories are related. Main Idea: Tiny Theories. Build up \network" one concept at a time. Carette, Farmer, et al MathScheme Library: Experiments 3/7 Experiment 1: Abstract Theories The Theories of mathematics are highly related: Ring := combine Rng, SemiRing over Semirng F i e l d := combine DivisionRing , CommutativeRing over Ring More precisely: the presentations of theories are related. Main Idea: Tiny Theories. Build up \network" one concept at a time. Empty := Theory fg Carrier := Empty extended by f U: type g PointedCarrier := Carrier extended by f e : U g UnaryOperation := Carrier extended by f prime : U −> U g PointedUnarySystem := combine UnaryOperation , PointedCarrier over C a r r i e r DoublyPointed := PointedCarrier extended by f e2 : U g BinaryOperation := Carrier extended by f ∗∗ :(U,U) −> U g Magma := BinaryOperation [∗∗ j−> ∗] CarrierS := Carrier[U j−> S] MultiCarrier := combine Carrier , CarrierS over Empty UnaryRelation := Carrier extended by f R:U?g BinaryRelation := Carrier extended by f R:(U,U)? g InvolutiveUnarySystem := UnaryOperation extended by f axiom i n v o l u t i v e p r i m e : f o r a l l x:domain(prime). prime(prime x) = x g Semigroup := Magma extended by f axiom associative ∗ : associative(( ∗ )) g Carette, Farmer, et al MathScheme Library: Experiments 3/7 Experiment 1: Abstract Theories The Theories of mathematics are highly related: Ring := combine Rng, SemiRing over Semirng F i e l d := combine DivisionRing , CommutativeRing over Ring More precisely: the presentations of theories are related. Main Idea: Tiny Theories. Build up \network" one concept at a time. LeftNearRing := combine LeftNearSemiring , AdditiveGroup over AdditiveMonoid LeftSemirng := combine LeftNearSemiring , AdditiveCommutativeMonoid over AdditiveMonoid LeftRng := combine LeftNearRing , LeftSemirng over LeftNearSemiring LeftSemiring := combine LeftSemirng , Monoid1 over Semigroup L e f t R i n g := combine LeftRng , LeftSemiring over LeftSemirng Semirng := LeftSemirng extended by f axiom rightDistributive ∗ + : leftDistributive((flipuc (( ∗ ) ) ) , ( + ) ) g Rng := combine LeftRng , Semirng over LeftSemirng SemiRing := combine LeftSemiring , Semirng over LeftSemirng Dioid := SemiRing extended by f axiom i d e m p o t e n t + : idempotent((+)) g Ring := combine Rng, SemiRing over Semirng Carette, Farmer, et al MathScheme Library: Experiments 3/7 Experiment 1: Abstract Theories The Theories of mathematics are highly related: Ring := combine Rng, SemiRing over Semirng F i e l d := combine DivisionRing , CommutativeRing over Ring More precisely: the presentations of theories are related. Main Idea: Tiny Theories. Build up \network" one concept at a time. LeftNearSemiring := Theory f U: type ; ∗ :(U,U) −> U; + : (U, U) −> U; 0 : U; axiom rightIdentity + 0 := f o r a l l x : U. x + 0 = x ; axiom leftIdentity + 0 := f o r a l l x : U. 0 + x = x ; axiom leftDistributive ∗ + := f o r a l l x , y , z : U. x ∗ ( y + z ) = ( x ∗ y ) + ( x ∗ z ) ; axiom l e f t 0 := f o r a l l x : U. 0 ∗ x = 0 ; axiom associative + := f o r a l l x,y,z : U. (x+y)+z=x+(y+z); axiom associative ∗ := f o r a l l x , y , z : U. ( x ∗ y ) ∗ z = x ∗ ( y ∗ z ) g Carette, Farmer, et al MathScheme Library: Experiments 3/7 VectorSpace ModalAlgebra RModule PreModalAlgebra RightRModule CommutativeRingAction LeftRModule BooleanAlgebra Necessity RightRingAction Field LeftRingAction ModularOrtholattice GoedelAlgebra PreRightRingAction IntegralDomain DivisionRing PreLeftRingAction BooleanRing KleeneAlgebra Orthomodularlattice KleeneLattice HeytingAlgebra MultRightMonoidAction PrimeAdditiveGroup Domain CommutativeRing MultMonoidAction StarSemiring Ortholattice KleeneLatticeP HeytingAlgebraP AbelianGroup Ring LeftMonoid1Action Dioid PreStarSemiring PreOrtholattice InvolutiveUnarySystem BoundedDistributiveLattice LeftRing Rng SemiRing NonassociativeRing Star ComplementedLattice PointedUnarySystem InvUnary BoundedModularLattice DistributiveLattice RightMonoid1Action LeftRng LeftSemiring Semirng NonassociativeNondistributiveRing BoundedLattice UnaryOperation ModularLattice Group1 LeftNearRing LeftSemirng AbelianAdditiveGroup BoundedMeetLattice BoundedJoinLattice ImplicationMagma RightGroupAction LeftGroupAction LeftNearSemiring AdditiveGroup Lattice BoundedJoinSemilattice RightMonoidAction Group LeftMonoidAction Monoid1 CommutativeAdditiveMagma DualSemilattices BoundedMeetSemilattice MoufangLoop RawGroup LeftNearSemiringoid AdditiveCommutativeMonoid CommutativeMonoid1 AdditiveMagma JoinSemilattice PreRightMonoidAction Loop PreLeftMonoidAction TraceMonoid AdditiveMonoid CommutativeMonoid MeetSemilattice Chain QuasiGroup LeftSemigroupAction Monoid LeftGroup Sloop CommutativeBand MeetDirectoid TotalOrder EquivalenceRelation RightSemigroupAction RightMagmaAction RightQuasiGroup LeftMagmaAction Unital LeftLoop RightMonoid PointedSteiner CommutativeSemigroup Squag Band Quandle IdempotentUpDirectedSet TotalPreorder PartialOrder TildePreorder RightMagmaActionP RightBiMagma LeftMagmaActionP LeftQuasiGroup LeftUnital LeftPointAction RightPointAction RightUnital Semigroup PointedCommutativeMagma Steiner IdempotentMagma Rack UpDirectedSet SimpleGraph Preorder RightOperation Pair LeftOperation Sink LeftBiMagma PointedMagma DoublyPointed CommutativeMagma DirectedSet FunctionSpace Heap IdempotentSemiheap Digraph Graph ReflexiveOrderRelation TransitiveOrderRelation BasicBool MultiCarrier PreSink LeftDivisionMagma PointedCarrier RightDistributiveMagma FunctionalComposition FunctionalIdentity Semiheap PseudoGraph OrderRelation Not Or And NatAdd UnaryRelation CarrierS SubType Magma FunctionCarrier TernaryOperation BinaryRelation Bool FieldTerm MonoidTerm Nat NatAddTerm One Carrier Empty Base Carette, Farmer, et al MathScheme Library: Experiments 4/7 I but many concrete structures are parametric, and most extensions are conservative. Experiment 2: Concrete Theories aka Concrete Structures Exact same idea as for Abstract Theories Carette, Farmer, et al MathScheme Library: Experiments 5/7 Experiment 2: Concrete Theories aka Concrete Structures Exact same idea as for Abstract Theories I but many concrete structures are parametric, and most extensions are conservative. Carette, Farmer, et al MathScheme Library: Experiments 5/7 Experiment 2: Concrete Theories aka Concrete Structures Exact same idea as for Abstract Theories I but many concrete structures are parametric, and most extensions are conservative. B i t Base := Empty extended conservatively by f I n d u c t i v e b i t j 0 : b i t j 1 : b i t g or B i t B a s e Abstract := Empty extended by f b i t : type 1 : b i t 0 : b i t axiom : f o r a l l b : b i t . b = 1 or b = 0 axiom : not (1=0) g Carette, Farmer, et al MathScheme Library: Experiments 5/7 Experiment 2: Concrete Theories aka Concrete Structures Exact same idea as for Abstract Theories I but many concrete structures are parametric, and most extensions are conservative. Bit And := B i t B a s e extended conservatively by f b i t and : (bit, bit) −> b i t ; b i t a n d ( x , y ) = case x of f j 0 −> 0 j 1 −> y g g B i t := combine Bit And , Bit Or , Bit Not , B i t Implies , Bit Xor , B i t X n o r over B i t B a s e Carette, Farmer, et al MathScheme Library: Experiments 5/7 Experiment 2: Concrete Theories aka Concrete Structures Exact same idea as for Abstract Theories I but many concrete structures are parametric, and most extensions are conservative. Nat := Empty extended conservatively by f I n d u c t i v e nat z e r o : nat succ : nat −> nat ; g List := Carrier extended conservatively by f I n d u c t i v e l i s t n i l : l i s t cons : U −> l i s t −> l i s t ; g BitCarrier := i n s t a n c e B i t B a s e of C a r r i e r v i a [ b i t j−> U] B i t L i s t := combine List , BitCarrier
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages21 Page
-
File Size-