Imports
/- Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Tooby-Smith -/ module public import Physlib.Units.WithDim.Basic

Area

In this module we define the dimensionful type corresponding to an area. We define specific instances of areas, such as square meters, square feet, etc.

@[expose] public section

The type of areas in the absence of a choice of unit.

abbrev DimArea : Type := Dimensionful (WithDim (L𝓭 * L𝓭) ℝ≥0)

Basic areas

Area in SI units

@[simp] lemma squareMeter_in_SI : squareMeter.1 SI = 1 := squareMeter SI = { val := 1 } All goals completed! 🐙@[simp] lemma squareFoot_in_SI : squareFoot.1 SI = 0.09290304 := squareFoot SI = { val := 9290304e-8 } 0.3048, ^ (1 + 1) { val := 1 } = { val := 9290304e-8 } (0.3048, ^ (1 + 1) { val := 1 }).val = { val := 9290304e-8 }.val 0.3048, ^ (1 + 1) = 9290304e-8 All goals completed! 🐙@[simp] lemma squareMile_in_SI : squareMile.1 SI = 2589988.110336 := squareMile SI = { val := 2589988.110336 } 1609.344, ^ (1 + 1) { val := 1 } = { val := 2589988.110336 } (1609.344, ^ (1 + 1) { val := 1 }).val = { val := 2589988.110336 }.val 1609.344, ^ (1 + 1) = 2589988.110336 All goals completed! 🐙@[simp] lemma are_in_SI : are.1 SI = 100 := are SI = { val := 100 } All goals completed! 🐙@[simp] lemma hectare_in_SI : hectare.1 SI = 10000 := hectare SI = { val := 10000 } All goals completed! 🐙@[simp] lemma acre_in_SI : acre.1 SI = 4046.8564224 := acre SI = { val := 4046.8564224 } 1609.344, ^ (1 + 1) { val := 640⁻¹ } = { val := 4046.8564224 } (1609.344, ^ (1 + 1) { val := 640⁻¹ }).val = { val := 4046.8564224 }.val 1609.344, ^ (1 + 1) * 640⁻¹ = 4046.8564224 All goals completed! 🐙

## Relations between areas

One acre is exactly 43560 square feet.

lemma acre_eq_mul_squareFeet : acre = (43560 : ℝ≥0) squareFoot := acre = 43560 squareFoot (toDimensionful SI).symm acre = (toDimensionful SI).symm (43560 squareFoot) ((toDimensionful SI).symm acre).val = ((toDimensionful SI).symm (43560 squareFoot)).val All goals completed! 🐙