Sums of finite sequences of real numbers

Content created by Louis Wasserman.

Created on 2025-12-25.
Last modified on 2026-01-09.

module real-numbers.sums-of-finite-sequences-of-real-numbers where
Imports
open import commutative-algebra.sums-of-finite-sequences-of-elements-commutative-rings

open import elementary-number-theory.natural-numbers

open import finite-group-theory.permutations-standard-finite-types

open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
open import foundation.universe-levels

open import group-theory.sums-of-finite-sequences-of-elements-abelian-groups

open import lists.finite-sequences

open import real-numbers.addition-real-numbers
open import real-numbers.dedekind-real-numbers
open import real-numbers.inequalities-addition-and-subtraction-real-numbers
open import real-numbers.inequality-real-numbers
open import real-numbers.large-additive-group-of-real-numbers
open import real-numbers.large-ring-of-real-numbers
open import real-numbers.multiplication-real-numbers
open import real-numbers.raising-universe-levels-real-numbers
open import real-numbers.rational-real-numbers
open import real-numbers.similarity-real-numbers

open import univalent-combinatorics.standard-finite-types

Idea

The sum operation extends the addition operation on real numbers to any finite sequence of real numbers.

Definition

sum-fin-sequence-ℝ : {l : Level} (n : )  fin-sequence ( l) n   l
sum-fin-sequence-ℝ {l} = sum-fin-sequence-type-Ab (ab-add-ℝ l)

Properties

Permutations preserve sums

abstract
  preserves-sum-permutation-fin-sequence-ℝ :
    {l : Level} (n : ) (σ : Permutation n) (a : fin-sequence ( l) n) 
    sum-fin-sequence-ℝ n a  sum-fin-sequence-ℝ n (a  map-equiv σ)
  preserves-sum-permutation-fin-sequence-ℝ {l} =
    preserves-sum-permutation-fin-sequence-type-Ab (ab-add-ℝ l)

Constant sums are multiples

abstract
  sum-constant-fin-sequence-ℝ :
    {l : Level} (n : ) (c :  l) 
    sum-fin-sequence-ℝ n  _  c)  real-ℕ n *ℝ c
  sum-constant-fin-sequence-ℝ {l} n c =
    ( sum-constant-fin-sequence-type-Ab (ab-add-ℝ l) n c) 
    ( inv (left-mul-real-ℕ n c))

If aᵢ ≤ bᵢ for all i, then the sum of the aᵢ is less than or equal to the sum of the bᵢ

abstract
  preserves-leq-sum-fin-sequence-ℝ :
    {l1 l2 : Level}
    (n : ) (a : fin-sequence ( l1) n) (b : fin-sequence ( l2) n) 
    ((i : Fin n)  leq-ℝ (a i) (b i)) 
    leq-ℝ (sum-fin-sequence-ℝ n a) (sum-fin-sequence-ℝ n b)
  preserves-leq-sum-fin-sequence-ℝ {l1} {l2} 0 _ _ _ =
    leq-sim-ℝ (sim-raise-raise-ℝ l1 l2 zero-ℝ)
  preserves-leq-sum-fin-sequence-ℝ (succ-ℕ n) a b aᵢ≤bᵢ =
    preserves-leq-add-ℝ
      ( preserves-leq-sum-fin-sequence-ℝ
        ( n)
        ( a  inl-Fin n)
        ( b  inl-Fin n)
        ( aᵢ≤bᵢ  inl-Fin n))
      ( aᵢ≤bᵢ (neg-one-Fin n))

Homotopic finite sequences have the same sums

abstract
  htpy-sum-fin-sequence-ℝ :
    {l : Level} (n : ) {a b : fin-sequence ( l) n}  a ~ b 
    sum-fin-sequence-ℝ n a  sum-fin-sequence-ℝ n b
  htpy-sum-fin-sequence-ℝ {l} = htpy-sum-fin-sequence-type-Ab (ab-add-ℝ l)

∑ aₙ + ∑ bₙ = ∑ (aₙ + bₙ)

abstract
  interchange-add-sum-fin-sequence-ℝ :
    {l : Level} (n : ) (a b : fin-sequence ( l) n) 
    sum-fin-sequence-ℝ n a +ℝ sum-fin-sequence-ℝ n b 
    sum-fin-sequence-ℝ n  i  a i +ℝ b i)
  interchange-add-sum-fin-sequence-ℝ {l} =
    interchange-add-sum-fin-sequence-type-Commutative-Ring
      ( commutative-ring-ℝ l)

Multiplication distributes over sums

abstract
  left-distributive-mul-sum-fin-sequence-ℝ :
    {l : Level} (n : ) (x :  l) (f : fin-sequence ( l) n) 
    x *ℝ sum-fin-sequence-ℝ n f  sum-fin-sequence-ℝ n  i  x *ℝ f i)
  left-distributive-mul-sum-fin-sequence-ℝ {l} =
    left-distributive-mul-sum-fin-sequence-type-Commutative-Ring
      ( commutative-ring-ℝ l)

  right-distributive-mul-sum-fin-sequence-ℝ :
    {l : Level} (n : ) (f : fin-sequence ( l) n) (x :  l) 
    sum-fin-sequence-ℝ n f *ℝ x  sum-fin-sequence-ℝ n  i  f i *ℝ x)
  right-distributive-mul-sum-fin-sequence-ℝ {l} =
    right-distributive-mul-sum-fin-sequence-type-Commutative-Ring
      ( commutative-ring-ℝ l)

Sums of zeroes are zero

abstract
  sum-zero-fin-sequence-ℝ :
    {l : Level} (n : ) 
    sum-fin-sequence-ℝ n  _  raise-zero-ℝ l)  raise-zero-ℝ l
  sum-zero-fin-sequence-ℝ {l} =
    sum-zero-fin-sequence-type-Commutative-Ring
      ( commutative-ring-ℝ l)

If aₙ ≤ bₙ for all n, then ∑ aₙ ≤ ∑ bₙ

abstract
  leq-sum-fin-sequence-ℝ :
    {l1 l2 : Level} (n : ) 
    (a : fin-sequence ( l1) n) (b : fin-sequence ( l2) n) 
    ((k : Fin n)  leq-ℝ (a k) (b k)) 
    leq-ℝ (sum-fin-sequence-ℝ n a) (sum-fin-sequence-ℝ n b)
  leq-sum-fin-sequence-ℝ {l1} {l2} 0 _ _ _ =
    leq-sim-ℝ
      ( transitive-sim-ℝ _ _ _ (sim-raise-ℝ l2 zero-ℝ) (sim-raise-ℝ' l1 zero-ℝ))
  leq-sum-fin-sequence-ℝ (succ-ℕ n) a b H =
    preserves-leq-add-ℝ
      ( leq-sum-fin-sequence-ℝ
        ( n)
        ( a  inl-Fin n)
        ( b  inl-Fin n)
        ( H  inl-Fin n))
      ( H (neg-one-Fin n))

Recent changes