15-819/18-879: Logical Analysis of Hybrid Systems 08: First-Order Real Arithmetic André Platzer [email protected] Carnegie Mellon University, Pittsburgh, PA 0.8 1.0 0.2 0.4 0.6 0.5 0.4 0.3 0.2 0.1 André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 1 / 10 Outline 1 First-Order Real Arithmetic Axioms of Reals Real-Closed Fields André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 1 / 10 Outline 1 First-Order Real Arithmetic Axioms of Reals Real-Closed Fields André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 1 / 10 In hybrid systems, there is significant logical structure in the properties, the system, the reasoning, ... We need to understand the reals first André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 2 / 10 Axioms of Reals André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 5 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 5 6 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z Neutral ∀x x · 1 = x André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 5 6 7 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z Neutral ∀x x · 1 = x Inverse ∀x (x 6= 0 → ∃y x · y = 1) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 5 6 7 8 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z Neutral ∀x x · 1 = x Inverse ∀x (x 6= 0 → ∃y x · y = 1) Abelian ∀x ∀y (x · y = y · x) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 5 6 7 8 9 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z Neutral ∀x x · 1 = x Inverse ∀x (x 6= 0 → ∃y x · y = 1) Abelian ∀x ∀y (x · y = y · x) Distributive ∀x ∀y ∀z (x · (y + z) = (x · y ) + (x · z)) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 5 6 7 8 9 10 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z Neutral ∀x x · 1 = x Inverse ∀x (x 6= 0 → ∃y x · y = 1) Abelian ∀x ∀y (x · y = y · x) Distributive ∀x ∀y ∀z (x · (y + z) = (x · y ) + (x · z)) Transitive ∀x ∀y ∀z (x ≥ y ∧ y ≥ z → x ≥ z) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 5 6 7 8 9 10 11 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z Neutral ∀x x · 1 = x Inverse ∀x (x 6= 0 → ∃y x · y = 1) Abelian ∀x ∀y (x · y = y · x) Distributive ∀x ∀y ∀z (x · (y + z) = (x · y ) + (x · z)) Transitive ∀x ∀y ∀z (x ≥ y ∧ y ≥ z → x ≥ z) Antisym. ∀x ∀y (x ≥ y ∧ y ≥ x → x = y ) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 5 6 7 8 9 10 11 12 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z Neutral ∀x x · 1 = x Inverse ∀x (x 6= 0 → ∃y x · y = 1) Abelian ∀x ∀y (x · y = y · x) Distributive ∀x ∀y ∀z (x · (y + z) = (x · y ) + (x · z)) Transitive ∀x ∀y ∀z (x ≥ y ∧ y ≥ z → x ≥ z) Antisym. ∀x ∀y (x ≥ y ∧ y ≥ x → x = y ) Total ∀x ∀y (x ≥ y ∨ y ≥ x) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 5 6 7 8 9 10 11 12 13 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z Neutral ∀x x · 1 = x Inverse ∀x (x 6= 0 → ∃y x · y = 1) Abelian ∀x ∀y (x · y = y · x) Distributive ∀x ∀y ∀z (x · (y + z) = (x · y ) + (x · z)) Transitive ∀x ∀y ∀z (x ≥ y ∧ y ≥ z → x ≥ z) Antisym. ∀x ∀y (x ≥ y ∧ y ≥ x → x = y ) Total ∀x ∀y (x ≥ y ∨ y ≥ x) Additive ∀x ∀y ∀z (x ≥ y → x + z ≥ y + z) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z Neutral ∀x x · 1 = x Inverse ∀x (x 6= 0 → ∃y x · y = 1) Abelian ∀x ∀y (x · y = y · x) Distributive ∀x ∀y ∀z (x · (y + z) = (x · y ) + (x · z)) Transitive ∀x ∀y ∀z (x ≥ y ∧ y ≥ z → x ≥ z) Antisym. ∀x ∀y (x ≥ y ∧ y ≥ x → x = y ) Total ∀x ∀y (x ≥ y ∨ y ≥ x) Additive ∀x ∀y ∀z (x ≥ y → x + z ≥ y + z) Positive ∀x ∀y (x ≥ 0 ∧ y ≥ 0 → x · y ≥ 0) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 Axioms of Reals 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z Neutral ∀x x + 0 = x Inverse ∀x ∃y x + y = 0 Abelian ∀x ∀y (x + y = y + x) Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z Neutral ∀x x · 1 = x Inverse ∀x (x 6= 0 → ∃y x · y = 1) Abelian ∀x ∀y (x · y = y · x) Distributive ∀x ∀y ∀z (x · (y + z) = (x · y ) + (x · z)) Transitive ∀x ∀y ∀z (x ≥ y ∧ y ≥ z → x ≥ z) Antisym. ∀x ∀y (x ≥ y ∧ y ≥ x → x = y ) Total ∀x ∀y (x ≥ y ∨ y ≥ x) Additive ∀x ∀y ∀z (x ≥ y → x + z ≥ y + z) Positive ∀x ∀y (x ≥ 0 ∧ y ≥ 0 → x · y ≥ 0) Sup “Non-empty subsets with upper bounds have supremum” André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 3 / 10 First-order Axioms of Reals What is a good set of first-order axioms for the reals R? André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 4 / 10 First-order Axioms of Reals What is a good set of first-order axioms for the reals R? Theorem (downward Skolem-Löwenheim’1915-20) Let Γ be a countable set of first-order formulas. Γ has a model ⇒ Γ has an infinite countable model “first-order logic cannot distinguish different infinities” André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 4 / 10 First-order Axioms of Reals What is a good set of first-order axioms for the reals R? Theorem (downward Skolem-Löwenheim’1915-20) Let Γ be a countable set of first-order formulas. Γ has a model ⇒ Γ has an infinite countable model “first-order logic cannot distinguish different infinities” Corollary The reals cannot be characterized (up to isomorphism) in first-order logic (nor any other infinite structure really, not even in the generated case) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 4 / 10 First-order Axioms of Reals What is a good set of first-order axioms for the reals R? Theorem (downward Skolem-Löwenheim’1915-20) Let Γ be a countable set of first-order formulas. Γ has a model ⇒ Γ has an infinite countable model “first-order logic cannot distinguish different infinities” Corollary The reals cannot be characterized (up to isomorphism) in first-order logic (nor any other infinite structure really, not even in the generated case) But the first-order “view” of the reals is still fairly amazing André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 4 / 10 Of Rationals and Reals Rationals and Reals are . . . Similar X Dissimilar André Platzer (CMU) Q R similar axioms (ordered field of characteristic 0) LAHS/08: First-Order Real Arithmetic 5 / 10 Of Rationals and Reals Rationals and Reals are . . . Similar X Dissimilar × André Platzer (CMU) Q R similar axioms (ordered field of characteristic 0) countable uncountable LAHS/08: First-Order Real Arithmetic 5 / 10 Of Rationals and Reals Rationals and Reals are . . . Similar X Dissimilar × X André Platzer (CMU) Q R similar axioms (ordered field of characteristic 0) countable uncountable algebraic closures indistinguishable algebraically LAHS/08: First-Order Real Arithmetic 5 / 10 Of Rationals and Reals Rationals and Reals are . . . Similar X Dissimilar × X × André Platzer (CMU) Q R similar axioms (ordered field of characteristic 0) countable uncountable algebraic closures indistinguishable algebraically doesn’t know about π has π LAHS/08: First-Order Real Arithmetic 5 / 10 Of Rationals and Reals Rationals and Reals are . . . Similar X Dissimilar × X × × André Platzer (CMU) Q R similar axioms (ordered field of characteristic 0) countable uncountable algebraic closures indistinguishable algebraically doesn’t know about π has π not closed (lim) closed LAHS/08: First-Order Real Arithmetic 5 / 10 Of Rationals and Reals Rationals and Reals are . . . Similar X Dissimilar × X × × X André Platzer (CMU) Q R similar axioms (ordered field of characteristic 0) countable uncountable algebraic closures indistinguishable algebraically doesn’t know about π has π not closed (lim) closed dense in R LAHS/08: First-Order Real Arithmetic 5 / 10 Of Rationals and Reals Rationals and Reals are . . . Similar X Dissimilar × X × × X × André Platzer (CMU) Q R similar axioms (ordered field of characteristic 0) countable uncountable algebraic closures indistinguishable algebraically doesn’t know about π has π not closed (lim) closed dense in R FOLQ undecidable FOLR decidable LAHS/08: First-Order Real Arithmetic 5 / 10 Of Rationals and Reals Rationals and Reals are . . . Similar X Dissimilar × X × × X × André Platzer (CMU) Q R similar axioms (ordered field of characteristic 0) countable uncountable algebraic closures indistinguishable algebraically doesn’t know about π has π not closed (lim) closed dense in R FOLQ undecidable FOLR decidable LAHS/08: First-Order Real Arithmetic 5 / 10 Relaxing Reals to Real Fields Definition (Formally real field) Field R is a (formally) real field iff, equivalently: André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 6 / 10 Relaxing Reals to Real Fields Definition (Formally real field) Field R is a (formally) real field iff, equivalently: 1 −1 is not a sum of squares in R. André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 6 / 10 Relaxing Reals to Real Fields Definition (Formally real field) Field R is a (formally) real field iff, equivalently: 1 2 −1 is not a sum of squares in R. P For every x1 , . . . , xn ∈ R, ni=1 xi2 = 0 implies x1 = · · · = xn = 0. André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 6 / 10 Relaxing Reals to Real Fields Definition (Formally real field) Field R is a (formally) real field iff, equivalently: 1 2 3 −1 is not a sum of squares in R. P For every x1 , . . . , xn ∈ R, ni=1 xi2 = 0 implies x1 = · · · = xn = 0. R admits an ordering that makes R an ordered field (ordering compatible with +, ·). André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 6 / 10 Relaxing Reals to Real Fields Definition (Formally real field) Field R is a (formally) real field iff, equivalently: 1 2 3 −1 is not a sum of squares in R. P For every x1 , . . . , xn ∈ R, ni=1 xi2 = 0 implies x1 = · · · = xn = 0. R admits an ordering that makes R an ordered field (ordering compatible with +, ·). What’s missing? André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 6 / 10 Relaxing Reals to Real Fields Definition (Formally real field) Field R is a (formally) real field iff, equivalently: 1 2 3 −1 is not a sum of squares in R. P For every x1 , . . . , xn ∈ R, ni=1 xi2 = 0 implies x1 = · · · = xn = 0. R admits an ordering that makes R an ordered field (ordering compatible with +, ·). What’s missing? That we have enough elements in R. André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 6 / 10 Real-Closed Fields Definition (Real-closed field) Field R is real-closed field iff, equivalently: 1 R is an ordered field where every positive element is a square and every univariate polynomial in R[X ] of odd degree has a root in R (then this order is, in fact, unique). André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 7 / 10 Real-Closed Fields Definition (Real-closed field) Field R is real-closed field iff, equivalently: 1 R is an ordered field where every positive element is a square and every univariate polynomial in R[X ] of odd degree has a root in R (then this order is, in fact, unique). 2 R is not algebraically closed but its field √ extension R[ −1] = R[i]/(i 2 + 1) is algebraically closed. André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 7 / 10 Real-Closed Fields Definition (Real-closed field) Field R is real-closed field iff, equivalently: 1 R is an ordered field where every positive element is a square and every univariate polynomial in R[X ] of odd degree has a root in R (then this order is, in fact, unique). 2 R is not algebraically closed but its field √ extension R[ −1] = R[i]/(i 2 + 1) is algebraically closed. 3 R is not algebraically closed but its algebraic closure is a finite extension, i.e., finitely generated over R. André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 7 / 10 Real-Closed Fields Definition (Real-closed field) Field R is real-closed field iff, equivalently: 1 R is an ordered field where every positive element is a square and every univariate polynomial in R[X ] of odd degree has a root in R (then this order is, in fact, unique). 2 R is not algebraically closed but its field √ extension R[ −1] = R[i]/(i 2 + 1) is algebraically closed. 3 R is not algebraically closed but its algebraic closure is a finite extension, i.e., finitely generated over R. 4 R has the intermediate value property, i.e., R is an ordered field such that for any polynomial p ∈ R[X ] with a, b ∈ R, a < b and p(a)p(b) < 0, there is a ζ with a < ζ < b such that p(ζ) = 0. André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 7 / 10 Real-Closed Fields Definition (Real-closed field) Field R is real-closed field iff, equivalently: 1 R is an ordered field where every positive element is a square and every univariate polynomial in R[X ] of odd degree has a root in R (then this order is, in fact, unique). 2 R is not algebraically closed but its field √ extension R[ −1] = R[i]/(i 2 + 1) is algebraically closed. 3 R is not algebraically closed but its algebraic closure is a finite extension, i.e., finitely generated over R. 4 R has the intermediate value property, i.e., R is an ordered field such that for any polynomial p ∈ R[X ] with a, b ∈ R, a < b and p(a)p(b) < 0, there is a ζ with a < ζ < b such that p(ζ) = 0. 5 R is a real field such that no proper algebraic extension is a formally real field. André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 7 / 10 Real-Closed Fields beyond the Reals Example (Real-closed fields) Real numbers R. André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 8 / 10 Real-Closed Fields beyond the Reals Example (Real-closed fields) Real numbers R. Real algebraic numbers Q̄ ∩ R, that is, real numbers in the algebraic closure of Q, i.e., real numbers that are roots of a non-zero polynomial with rational or integer coefficients p(r ) = 0 for some p ∈ Q[X ] \ {0} André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 8 / 10 Real-Closed Fields beyond the Reals Example (Real-closed fields) Real numbers R. Real algebraic numbers Q̄ ∩ R, that is, real numbers in the algebraic closure of Q, i.e., real numbers that are roots of a non-zero polynomial with rational or integer coefficients p(r ) = 0 for some p ∈ Q[X ] \ {0} Computable numbers, i.e., those that can be approximated by a computable function up to any desired precision. André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 8 / 10 Real-Closed Fields beyond the Reals Example (Real-closed fields) Real numbers R. Real algebraic numbers Q̄ ∩ R, that is, real numbers in the algebraic closure of Q, i.e., real numbers that are roots of a non-zero polynomial with rational or integer coefficients p(r ) = 0 for some p ∈ Q[X ] \ {0} Computable numbers, i.e., those that can be approximated by a computable function up to any desired precision. π lives here! André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 8 / 10 Real-Closed Fields beyond the Reals Example (Real-closed fields) Real numbers R. Real algebraic numbers Q̄ ∩ R, that is, real numbers in the algebraic closure of Q, i.e., real numbers that are roots of a non-zero polynomial with rational or integer coefficients p(r ) = 0 for some p ∈ Q[X ] \ {0} Computable numbers, i.e., those that can be approximated by a computable function up to any desired precision. π lives here! ZFC-Definable numbers, i.e., those real numbers a ∈ R for which there is a first-order formula ϕ in set theory with one free variable such that a is the unique real number for which ϕ holds true. I , β |= ϕ iff I (x) = a André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 8 / 10 The advantages of implicit definition over construction are roughly those of theft over honest toil [Russell] André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 9 / 10 First-Order Axiom Schemes of Real-Closed Fields 1 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z 2 Neutral ∀x x + 0 = x 3 Inverse ∀x ∃y x + y = 0 4 Abelian ∀x ∀y (x + y = y + x) 5 Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z 6 Neutral ∀x x · 1 = x 7 Inverse ∀x (x 6= 0 → ∃y x · y = 1) 8 Abelian ∀x ∀y (x · y = y · x) 9 Distributive ∀x ∀y ∀z (x · (y + z) = (x · y ) + (x · z)) 10 ¬∃x1 . . . ∃xn (−1 = x12 + · · · + xn2 ) for any n 11 ∀x ∀y (x < y ∧ p(x)p(y ) < 0 → ∃z (x < z < y ∧ p(z) = 0)) for polynomial p (intermediate value property) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 10 / 10 First-Order Axiom Schemes of Real-Closed Fields 1 Commutative group (R, +): ∀x ∀y ∀z x + (y + z) = (x + y ) + z 2 Neutral ∀x x + 0 = x 3 Inverse ∀x ∃y x + y = 0 4 Abelian ∀x ∀y (x + y = y + x) 5 Commutative group (R \ {0}, ·): ∀x ∀y ∀z x · (y · z) = (x · y ) · z 6 Neutral ∀x x · 1 = x 7 Inverse ∀x (x 6= 0 → ∃y x · y = 1) 8 Abelian ∀x ∀y (x · y = y · x) 9 Distributive ∀x ∀y ∀z (x · (y + z) = (x · y ) + (x · z)) 10 ¬∃x1 . . . ∃xn (−1 = x12 + · · · + xn2 ) for any n 11 ∀x ∀y (x < y ∧ p(x)p(y ) < 0 → ∃z (x < z < y ∧ p(z) = 0)) for polynomial p (intermediate value property) André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 10 / 10 André Platzer (CMU) LAHS/08: First-Order Real Arithmetic 10 / 10
© Copyright 2026 Paperzz