map international spring sch l on formalization of
play

MAP INTERNATIONAL SPRING SCH L ON FORMALIZATION OF MATHEMATICS - PowerPoint PPT Presentation

Librairy overview - a first guided tour Laurence Rideau 14 March MAP INTERNATIONAL SPRING SCH L ON FORMALIZATION OF MATHEMATICS 2012 SOPHIA ANTIPOLIS, FRANCE / 12-16 MARCH numbers Finite Outline


  1. Librairy overview - a first guided tour Laurence Rideau 14 March MAP INTERNATIONAL SPRING SCH L ON FORMALIZATION OF MATHEMATICS 2012 SOPHIA ANTIPOLIS, FRANCE / 12-16 MARCH

  2. numbers Finite Outline http://coqfinitgroup.gforge.inria.fr/ssreflect-1.3/ Walk around in natural numbers area 1 About finite objects 2 Laurence Rideau Librairy overview - a first guided tour

  3. numbers Finite nat div prime binomial Outline Walk around in natural numbers area 1 ssrnat div prime binomial About finite objects 2 Laurence Rideau Librairy overview - a first guided tour

  4. numbers Finite nat div prime binomial ssrnat : Type and Arithmetic Operators Inductive type: standard Coq nat := O | S of nat Laurence Rideau Librairy overview - a first guided tour

  5. numbers Finite nat div prime binomial ssrnat : Type and Arithmetic Operators Inductive type: standard Coq nat := O | S of nat Notations: ” 0 ” and ” n .+1 ” (generalized till .+4 ). Laurence Rideau Librairy overview - a first guided tour

  6. numbers Finite nat div prime binomial ssrnat : Type and Arithmetic Operators Inductive type: standard Coq nat := O | S of nat Notations: ” 0 ” and ” n .+1 ” (generalized till .+4 ). Arithmetic operators: ” + ” ( addn ), ” - ” ( subn ), ” * ” ( muln ), ” ^ ” ( expn ) Laurence Rideau Librairy overview - a first guided tour

  7. numbers Finite nat div prime binomial ssrnat : Type and Arithmetic Operators Inductive type: standard Coq nat := O | S of nat Notations: ” 0 ” and ” n .+1 ” (generalized till .+4 ). Arithmetic operators: ” + ” ( addn ), ” - ” ( subn ), ” * ” ( muln ), ” ^ ” ( expn ) Convertible to plus , minus , and mult . Laurence Rideau Librairy overview - a first guided tour

  8. numbers Finite nat div prime binomial ssrnat : Type and Arithmetic Operators Inductive type: standard Coq nat := O | S of nat Notations: ” 0 ” and ” n .+1 ” (generalized till .+4 ). Arithmetic operators: ” + ” ( addn ), ” - ” ( subn ), ” * ” ( muln ), ” ^ ” ( expn ) Convertible to plus , minus , and mult . Locked to prevent simplification. Tactic: ” unlock addn. ” Laurence Rideau Librairy overview - a first guided tour

  9. numbers Finite nat div prime binomial ssrnat : Rewriting Rules Explicit rewriting rules for simplification: addn0: n + 0 = n add0n: 0 + n = n Laurence Rideau Librairy overview - a first guided tour

  10. numbers Finite nat div prime binomial ssrnat : Rewriting Rules Explicit rewriting rules for simplification: addn0: n + 0 = n add0n: 0 + n = n addn1: n + 1 = n .+1 add1n: 1 + n = n .+1 till .+4 Laurence Rideau Librairy overview - a first guided tour

  11. numbers Finite nat div prime binomial ssrnat : Rewriting Rules Explicit rewriting rules for simplification: addn0: n + 0 = n add0n: 0 + n = n addn1: n + 1 = n .+1 add1n: 1 + n = n .+1 till .+4 addnS: m + n .+1 = ( m + n ) .+1 addSn: m .+1 + n = ( m + n ) .+1 Laurence Rideau Librairy overview - a first guided tour

  12. numbers Finite nat div prime binomial ssrnat : Rewriting Rules Explicit rewriting rules for simplification: addn0: n + 0 = n add0n: 0 + n = n addn1: n + 1 = n .+1 add1n: 1 + n = n .+1 till .+4 addnS: m + n .+1 = ( m + n ) .+1 addSn: m .+1 + n = ( m + n ) .+1 Other rewriting rules: addnC: m + n = n + m commutativity addnA: m + ( n + p ) = ( m + n ) + p associativity Laurence Rideau Librairy overview - a first guided tour

  13. numbers Finite nat div prime binomial ssrnat : Rewriting Rules Explicit rewriting rules for simplification: addn0: n + 0 = n add0n: 0 + n = n addn1: n + 1 = n .+1 add1n: 1 + n = n .+1 till .+4 addnS: m + n .+1 = ( m + n ) .+1 addSn: m .+1 + n = ( m + n ) .+1 Other rewriting rules: addnC: m + n = n + m commutativity addnA: m + ( n + p ) = ( m + n ) + p associativity addnK: ( n + p ) − p = n cancellation addKn: ( p + n ) − p = n Laurence Rideau Librairy overview - a first guided tour

  14. numbers Finite nat div prime binomial ssrnat : Rewriting Rules Explicit rewriting rules for simplification: addn0: n + 0 = n add0n: 0 + n = n addn1: n + 1 = n .+1 add1n: 1 + n = n .+1 till .+4 addnS: m + n .+1 = ( m + n ) .+1 addSn: m .+1 + n = ( m + n ) .+1 Other rewriting rules: addnC: m + n = n + m commutativity addnA: m + ( n + p ) = ( m + n ) + p associativity addnK: ( n + p ) − p = n cancellation addKn: ( p + n ) − p = n addnI: p + m = p + n ⇒ m = n injectivity addIn: m + p = n + p ⇒ m = n Laurence Rideau Librairy overview - a first guided tour

  15. numbers Finite nat div prime binomial ssrnat : Comparison Operators ” <= ” leq ” < ” Notation "m < n":= (m.+1 <= n) ” >= ” ” > ” Laurence Rideau Librairy overview - a first guided tour

  16. numbers Finite nat div prime binomial ssrnat : Comparison Operators ” <= ” leq ” < ” Notation "m < n":= (m.+1 <= n) ” >= ” ” > ” Boolean functions: leq: nat -> nat -> bool . For propositions, implicitly: ( m <= n ) = true . Laurence Rideau Librairy overview - a first guided tour

  17. numbers Finite nat div prime binomial ssrnat : Comparison Operators ” <= ” leq ” < ” Notation "m < n":= (m.+1 <= n) ” >= ” ” > ” Boolean functions: leq: nat -> nat -> bool . For propositions, implicitly: ( m <= n ) = true . Reflection with standard Coq: leP: le m n ⇔ leq m n = true ltP: lt m n ⇔ leq m .+1 n = true Laurence Rideau Librairy overview - a first guided tour

  18. numbers Finite nat div prime binomial ssrnat : Comparison Operators Usual properties: leq0n: 0 ≤ n ltn0Sn: 0 < n .+1 Laurence Rideau Librairy overview - a first guided tour

  19. numbers Finite nat div prime binomial ssrnat : Comparison Operators Usual properties: leq0n: 0 ≤ n ltn0Sn: 0 < n .+1 leqnn: n ≤ n ltnSn: n < n .+1 leqnSn: n ≤ n .+1 Laurence Rideau Librairy overview - a first guided tour

  20. numbers Finite nat div prime binomial ssrnat : Comparison Operators Usual properties: leq0n: 0 ≤ n ltn0Sn: 0 < n .+1 leqnn: n ≤ n ltnSn: n < n .+1 leqnSn: n ≤ n .+1 leq trans: m ≤ p ⇒ p ≤ n ⇒ m ≤ n transitivity ltn trans: m < p ⇒ p < n ⇒ m < n leq ltn trans: m ≤ p ⇒ p < n ⇒ m < n Laurence Rideau Librairy overview - a first guided tour

  21. numbers Finite nat div prime binomial ssrnat : Comparison Operators Usual properties: leq0n: 0 ≤ n ltn0Sn: 0 < n .+1 leqnn: n ≤ n ltnSn: n < n .+1 leqnSn: n ≤ n .+1 leq trans: m ≤ p ⇒ p ≤ n ⇒ m ≤ n transitivity ltn trans: m < p ⇒ p < n ⇒ m < n leq ltn trans: m ≤ p ⇒ p < n ⇒ m < n But actually rewriting rules! Laurence Rideau Librairy overview - a first guided tour

  22. numbers Finite nat div prime binomial div Divisibility for natural numbers Operators: ” %/ ” ( divn ) quotient ” %% ” ( modn ) remainder ” %| ” ( dvdn ) divisor predicate Laurence Rideau Librairy overview - a first guided tour

  23. numbers Finite nat div prime binomial div Divisibility for natural numbers Operators: ” %/ ” ( divn ) quotient ” %% ” ( modn ) remainder ” %| ” ( dvdn ) divisor predicate Some properties: divn eq : m = ( m %/ d ) ∗ d + ( m %% d ) dvdn eq : ( d %| m ) = (( m %/ d ) ∗ d == m ) Laurence Rideau Librairy overview - a first guided tour

  24. numbers Finite nat div prime binomial div More definitions Definitions using divisibility: A function computing the gcd of 2 numbers gcdn coprime Definition coprime m n := gcdn m n == 1. Laurence Rideau Librairy overview - a first guided tour

  25. numbers Finite nat div prime binomial div More definitions Definitions using divisibility: A function computing the gcd of 2 numbers gcdn coprime Definition coprime m n := gcdn m n == 1. The chinese remainder theorem Lemma chinese: forall x y, (x == y %[mod m1 * m2]) = (x == y %[mod m1]) && (x == y %[mod m2]). Laurence Rideau Librairy overview - a first guided tour

  26. numbers Finite nat div prime binomial prime prime p p is a prime. primes m the sorted list of prime divisors of m > 1, else [::]. prime decomp m the list of prime factors of m > 1, sorted by primes. divisors m the sorted list of divisors of m > 0, else [::]. Laurence Rideau Librairy overview - a first guided tour

  27. numbers Finite nat div prime binomial prime prime p p is a prime. primes m the sorted list of prime divisors of m > 1, else [::]. prime decomp m the list of prime factors of m > 1, sorted by primes. divisors m the sorted list of divisors of m > 0, else [::]. Lemma dvdn_divisors : forall d m, 0 < m -> (d %| m)= (d \in divisors m). Laurence Rideau Librairy overview - a first guided tour

  28. numbers Finite nat div prime binomial prime prime p p is a prime. primes m the sorted list of prime divisors of m > 1, else [::]. prime decomp m the list of prime factors of m > 1, sorted by primes. divisors m the sorted list of divisors of m > 0, else [::]. Lemma dvdn_divisors : forall d m, 0 < m -> (d %| m)= (d \in divisors m). Φ n the Euler totient : ♯ |{ i < n | i and n are coprime }| . Laurence Rideau Librairy overview - a first guided tour

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend