pax_global_header00006660000000000000000000000064141735366470014532gustar00rootroot0000000000000052 comment=f7cf59c65a057e8ec08ad0b248cb5c2d4dcb8dc2 analysis-0.3.13/000077500000000000000000000000001417353664700134415ustar00rootroot00000000000000analysis-0.3.13/.dir-locals.el000066400000000000000000000005571417353664700161010ustar00rootroot00000000000000;;; Directory Local Variables ;;; For more information see (info "(emacs) Directory Variables") ;; see https://www.compart.com/en/unicode/U+xxxx ((coq-mode (company-coq-dir-local-symbols . (("`&`" . 8745) ;; ∩ U+2229 ("`|`" . 8746) ;; ∪ U+222A ("set0" . 8709) ;; ∅ U+2205 ("`<`" . 8842) ;; ⊊ U+228A ("`<=`" . 8838) ;; ⊆ U+2286 )))) analysis-0.3.13/.gitattributes000066400000000000000000000000431417353664700163310ustar00rootroot00000000000000CHANGELOG_UNRELEASED.md merge=unionanalysis-0.3.13/.github/000077500000000000000000000000001417353664700150015ustar00rootroot00000000000000analysis-0.3.13/.github/workflows/000077500000000000000000000000001417353664700170365ustar00rootroot00000000000000analysis-0.3.13/.github/workflows/docker-action.yml000066400000000000000000000022521417353664700223040ustar00rootroot00000000000000# This file was generated from `meta.yml`, please do not edit manually. # Follow the instructions on https://github.com/coq-community/templates to regenerate. name: Docker CI on: push: branches: - master pull_request: branches: - '**' jobs: build: # the OS must be GNU/Linux to be able to use the docker-coq-action runs-on: ubuntu-latest strategy: matrix: image: - 'mathcomp/mathcomp:1.12.0-coq-8.13' - 'mathcomp/mathcomp:1.12.0-coq-8.14' - 'mathcomp/mathcomp:1.13.0-coq-8.13' - 'mathcomp/mathcomp:1.13.0-coq-8.14' - 'mathcomp/mathcomp:1.13.0-coq-8.15' - 'mathcomp/mathcomp:1.14.0-coq-dev' - 'mathcomp/mathcomp-dev:coq-8.13' - 'mathcomp/mathcomp-dev:coq-8.14' - 'mathcomp/mathcomp-dev:coq-dev' fail-fast: false steps: - uses: actions/checkout@v2 - uses: coq-community/docker-coq-action@v1 with: opam_file: 'coq-mathcomp-analysis.opam' custom_image: ${{ matrix.image }} # See also: # https://github.com/coq-community/docker-coq-action#readme # https://github.com/erikmd/docker-coq-github-action-demo analysis-0.3.13/.github/workflows/nix-action-8.13.yml000066400000000000000000000122161417353664700222230ustar00rootroot00000000000000jobs: coq: needs: [] runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target coq run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"8.13\" --argstr job \"coq\" \\\n --dry-run 2>&1 > /dev/null)\n\ echo $nb_dry_run\necho ::set-output name=status::$(echo $nb_dry_run | grep\ \ \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.13" --argstr job "coq" mathcomp-analysis: needs: - coq runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target mathcomp-analysis run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"8.13\" --argstr job \"mathcomp-analysis\" \\\n --dry-run 2>&1\ \ > /dev/null)\necho $nb_dry_run\necho ::set-output name=status::$(echo $nb_dry_run\ \ | grep \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: coq' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.13" --argstr job "coq" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-ssreflect' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.13" --argstr job "mathcomp-ssreflect" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-field' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.13" --argstr job "mathcomp-field" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-finmap' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.13" --argstr job "mathcomp-finmap" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-bigenough' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.13" --argstr job "mathcomp-bigenough" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-real-closed' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.13" --argstr job "mathcomp-real-closed" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: hierarchy-builder' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.13" --argstr job "hierarchy-builder" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.13" --argstr job "mathcomp-analysis" name: Nix CI for bundle 8.13 'on': pull_request: paths: - .github/workflows/** pull_request_target: types: - opened - synchronize - reopened push: branches: - master analysis-0.3.13/.github/workflows/nix-action-8.14.yml000066400000000000000000000122161417353664700222240ustar00rootroot00000000000000jobs: coq: needs: [] runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target coq run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"8.14\" --argstr job \"coq\" \\\n --dry-run 2>&1 > /dev/null)\n\ echo $nb_dry_run\necho ::set-output name=status::$(echo $nb_dry_run | grep\ \ \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.14" --argstr job "coq" mathcomp-analysis: needs: - coq runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target mathcomp-analysis run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"8.14\" --argstr job \"mathcomp-analysis\" \\\n --dry-run 2>&1\ \ > /dev/null)\necho $nb_dry_run\necho ::set-output name=status::$(echo $nb_dry_run\ \ | grep \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: coq' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.14" --argstr job "coq" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-ssreflect' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.14" --argstr job "mathcomp-ssreflect" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-field' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.14" --argstr job "mathcomp-field" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-finmap' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.14" --argstr job "mathcomp-finmap" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-bigenough' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.14" --argstr job "mathcomp-bigenough" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-real-closed' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.14" --argstr job "mathcomp-real-closed" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: hierarchy-builder' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.14" --argstr job "hierarchy-builder" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "8.14" --argstr job "mathcomp-analysis" name: Nix CI for bundle 8.14 'on': pull_request: paths: - .github/workflows/** pull_request_target: types: - opened - synchronize - reopened push: branches: - master analysis-0.3.13/.github/workflows/nix-action-master.yml000066400000000000000000000467321417353664700231370ustar00rootroot00000000000000jobs: coq: needs: [] runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target coq run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"master\" --argstr job \"coq\" \\\n --dry-run 2>&1 > /dev/null)\n\ echo $nb_dry_run\necho ::set-output name=status::$(echo $nb_dry_run | grep\ \ \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "coq" coq-elpi: needs: - coq runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target coq-elpi run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"master\" --argstr job \"coq-elpi\" \\\n --dry-run 2>&1 > /dev/null)\n\ echo $nb_dry_run\necho ::set-output name=status::$(echo $nb_dry_run | grep\ \ \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: coq' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "coq" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "coq-elpi" hierarchy-builder: needs: - coq - coq-elpi runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target hierarchy-builder run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"master\" --argstr job \"hierarchy-builder\" \\\n --dry-run 2>&1\ \ > /dev/null)\necho $nb_dry_run\necho ::set-output name=status::$(echo $nb_dry_run\ \ | grep \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: coq' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "coq" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: coq-elpi' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "coq-elpi" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "hierarchy-builder" mathcomp: needs: - coq runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target mathcomp run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"master\" --argstr job \"mathcomp\" \\\n --dry-run 2>&1 > /dev/null)\n\ echo $nb_dry_run\necho ::set-output name=status::$(echo $nb_dry_run | grep\ \ \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: coq' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "coq" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-ssreflect' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-ssreflect" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-fingroup' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-fingroup" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-algebra' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-algebra" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-solvable' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-solvable" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-field' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-field" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-character' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-character" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp" mathcomp-analysis: needs: - coq - mathcomp-finmap - mathcomp-bigenough - mathcomp-real-closed - hierarchy-builder runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target mathcomp-analysis run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"master\" --argstr job \"mathcomp-analysis\" \\\n --dry-run 2>&1\ \ > /dev/null)\necho $nb_dry_run\necho ::set-output name=status::$(echo $nb_dry_run\ \ | grep \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: coq' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "coq" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-ssreflect' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-ssreflect" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-field' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-field" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-finmap' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-finmap" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-bigenough' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-bigenough" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-real-closed' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-real-closed" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: hierarchy-builder' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "hierarchy-builder" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-analysis" mathcomp-bigenough: needs: - coq runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target mathcomp-bigenough run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"master\" --argstr job \"mathcomp-bigenough\" \\\n --dry-run 2>&1\ \ > /dev/null)\necho $nb_dry_run\necho ::set-output name=status::$(echo $nb_dry_run\ \ | grep \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: coq' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "coq" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-ssreflect' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-ssreflect" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-bigenough" mathcomp-finmap: needs: - coq runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target mathcomp-finmap run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"master\" --argstr job \"mathcomp-finmap\" \\\n --dry-run 2>&1\ \ > /dev/null)\necho $nb_dry_run\necho ::set-output name=status::$(echo $nb_dry_run\ \ | grep \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: coq' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "coq" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-ssreflect' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-ssreflect" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-finmap" mathcomp-real-closed: needs: - coq - mathcomp-bigenough runs-on: ubuntu-latest steps: - name: Determine which commit to test run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\ \ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\ \ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\ \ | cut -f1)\n if [ -z \"$merge_commit\" ]; then\n echo \"tested_commit=${{\ \ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n else\n echo\ \ \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n" - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ env.tested_commit }} - name: Cachix install uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixpkgs-unstable - name: Cachix setup math-comp uses: cachix/cachix-action@v10 with: authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} extraPullNames: coq, coq-community name: math-comp - id: stepCheck name: Checking presence of CI target mathcomp-real-closed run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\ \ bundle \"master\" --argstr job \"mathcomp-real-closed\" \\\n --dry-run\ \ 2>&1 > /dev/null)\necho $nb_dry_run\necho ::set-output name=status::$(echo\ \ $nb_dry_run | grep \"built:\" | sed \"s/.*/built/\")\n" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: coq' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "coq" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-ssreflect' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-ssreflect" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-field' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-field" - if: steps.stepCheck.outputs.status == 'built' name: 'Building/fetching previous CI target: mathcomp-bigenough' run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-bigenough" - if: steps.stepCheck.outputs.status == 'built' name: Building/fetching current CI target run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "master" --argstr job "mathcomp-real-closed" name: Nix CI for bundle master 'on': pull_request: paths: - .github/workflows/** pull_request_target: types: - opened - synchronize - reopened push: branches: - master analysis-0.3.13/.gitignore000066400000000000000000000001601417353664700154260ustar00rootroot00000000000000/attic/ *.d *.o *.a *.cm[ioxa] *.cmx[as] *.annot *.vo *.glob *.aux *.vo[ks] *~ Makefile.coq Makefile.coq.conf analysis-0.3.13/.nix/000077500000000000000000000000001417353664700143155ustar00rootroot00000000000000analysis-0.3.13/.nix/config.nix000066400000000000000000000054311417353664700163050ustar00rootroot00000000000000{ ## DO NOT CHANGE THIS format = "1.0.0"; ## unless you made an automated or manual update ## to another supported format. ## The attribute to build from the local sources, ## either using nixpkgs data or the overlays located in `.nix/coq-overlays` ## Will determine the default main-job of the bundles defined below attribute = "mathcomp-analysis"; ## If you want to select a different attribute (to build from the local sources as well) ## when calling `nix-shell` and `nix-build` without the `--argstr job` argument # shell-attribute = "{{nix_name}}"; ## Maybe the shortname of the library is different from ## the name of the nixpkgs attribute, if so, set it here: # pname = "{{shortname}}"; ## Lists the dependencies, phrased in terms of nix attributes. ## No need to list Coq, it is already included. ## These dependencies will systematically be added to the currently ## known dependencies, if any more than Coq. ## /!\ Remove this field as soon as the package is available on nixpkgs. ## /!\ Manual overlays in `.nix/coq-overlays` should be preferred then. # buildInputs = [ ]; ## Indicate the relative location of your _CoqProject ## If not specified, it defaults to "_CoqProject" # coqproject = "_CoqProject"; ## select an entry to build in the following `bundles` set ## defaults to "default" default-bundle = "8.13"; ## write one `bundles.name` attribute set per ## alternative configuration ## When generating GitHub Action CI, one workflow file ## will be created per bundle bundles."8.13".coqPackages.coq.override.version = "8.13"; bundles."8.14".coqPackages.coq.override.version = "8.14"; bundles."master".coqPackages = { coq.override.version = "master"; coq-elpi.override.version = "coq-master"; hierarchy-builder.override.version = "v1.2.1"; mathcomp-bigenough.override.version = "1.0.1"; mathcomp-finmap.override.version = "1.5.1"; mathcomp-real-closed.override.version = "1.1.2"; mathcomp.override.version = "1.13.0"; }; ## Cachix caches to use in CI ## Below we list some standard ones cachix.coq = {}; cachix.math-comp.authToken = "CACHIX_AUTH_TOKEN"; cachix.coq-community = {}; ## If you have write access to one of these caches you can ## provide the auth token or signing key through a secret ## variable on GitHub. Then, you should give the variable ## name here. For instance, coq-community projects can use ## the following line instead of the one above: # cachix.coq-community.authToken = "CACHIX_AUTH_TOKEN"; ## Or if you have a signing key for a given Cachix cache: # cachix.my-cache.signingKey = "CACHIX_SIGNING_KEY" ## Note that here, CACHIX_AUTH_TOKEN and CACHIX_SIGNING_KEY ## are the names of secret variables. They are set in ## GitHub's web interface. } analysis-0.3.13/.nix/coq-nix-toolbox.nix000066400000000000000000000000531417353664700200750ustar00rootroot00000000000000"ccef60688648484a499d367b1e916e8bd36db789" analysis-0.3.13/AUTHORS.md000066400000000000000000000003651417353664700151140ustar00rootroot00000000000000# Initial authors of this library - Reynald Affeldt, AIST (National Institute of Advanced Industrial Science and Technology, Japan) - Cyril Cohen, Inria - Assia Mahboubi, Inria - Damien Rouhling, Inria - Pierre-Yves Strub, École polytechnique analysis-0.3.13/CHANGELOG.md000066400000000000000000001774331417353664700152710ustar00rootroot00000000000000# Changelog Last releases: [[0.3.12] - 2021-12-29](#0312---2021-12-29) and [[0.3.13] - 2022-01-24](#0313---2022-01-24) ## [0.3.13] - 2022-01-24 ### Added - in `topology.v`: + definitions `kolmogorov_space`, `accessible_space` + lemmas `accessible_closed_set1`, `accessible_kolmogorov` + lemma `filter_pair_set` + definition `prod_topo_apply` + lemmas `prod_topo_applyE`, `prod_topo_apply_continuous`, `hausdorff_product` - in `ereal.v`: + lemmas `lee_pemull`, `lee_nemul`, `lee_pemulr`, `lee_nemulr` + lemma `fin_numM` + definition `mule_def`, notation `x *? y` + lemma `mule_defC` + notations `\*` in `ereal_scope`, and `ereal_dual_scope` + lemmas `mule_def_fin`, `mule_def_neq0_infty`, `mule_def_infty_neq0`, `neq0_mule_def` + notation `\-` in `ereal_scope` and `ereal_dual_scope` + lemma `fin_numB` + lemmas `mule_eq_pinfty`, `mule_eq_ninfty` + lemmas `fine_eq0`, `abse_eq0` - in `sequences.v`: + lemmas `ereal_cvgM_gt0_pinfty`, `ereal_cvgM_lt0_pinfty`, `ereal_cvgM_gt0_ninfty`, `ereal_cvgM_lt0_ninfty`, `ereal_cvgM` ### Changed - in `topology.v`: + renamed and generalized `setC_subset_set1C` implication to equivalence `subsetC1` - in `ereal.v`: + lemmas `ereal_sup_gt`, `ereal_inf_lt` now use `exists2` - notation `\*` moved from `realseq.v` to `topology.v` ### Renamed - in `topology.v: + `hausdorff` -> `hausdorff_space` ### Removed - in `realseq.v`: + notation `\-` ### Infrastructure - add `.dir-locals.el` for company-coq symbols ## [0.3.12] - 2021-12-29 ### Added - in `boolp.v`: + lemmas `not_True`, `not_False` - in `classical_sets.v`: + lemma `setDIr` + lemmas `setMT`, `setTM`, `setMI` + lemmas `setSM`, `setM_bigcupr`, `setM_bigcupl` + lemmas `cover_restr`, `eqcover_r` + lemma `notin_set` - in `reals.v`: + lemma `has_ub_lbN` - in `ereal.v`: + lemma `onee_eq0` + lemma `EFinB` + lemmas `mule_eq0`, `mule_lt0_lt0`, `mule_gt0_lt0`, `mule_lt0_gt0`, `pmule_rge0`, `pmule_lge0`, `nmule_lge0`, `nmule_rge0`, `pmule_rgt0`, `pmule_lgt0`, `nmule_lgt0`, `nmule_rgt0` + lemmas `muleBr`, `muleBl` + lemma `eqe_absl` + lemma `lee_pmul` + lemmas `fin_numElt`, `fin_numPlt` - in `topology.v` + lemmas `cstE`, `compE`, `opprfunE`, `addrfunE`, `mulrfunE`, `scalrfunE`, `exprfunE` + multi-rule `fctE` + lemmas `within_interior`, `within_subset,` `withinE`, `fmap_within_eq` + definitions `subspace`, `incl_subspace`. + canonical instances of `pointedType`, `filterType`, `topologicalType`, `uniformType` and `pseudoMetricType` on `subspace`. + lemmas `nbhs_subspaceP`, `nbhs_subspace_in`, `nbhs_subspace_out`, `subspace_cvgP`, `subspace_continuousP`, `subspace_eq_continuous`, `nbhs_subspace_interior`, `nbhs_subspace_ex`, `incl_subspace_continuous`, `open_subspace1out`, `open_subspace_out`, `open_subspaceT`, `open_subspaceIT`, `open_subspaceTI`, `closed_subspaceT`, `open_subspaceP`, `open_subspaceW`, `subspace_hausdorff`, and `compact_subspaceIP`. - in `normedtype.v` + lemmas `continuous_shift`, `continuous_withinNshiftx` + lemmas `bounded_fun_has_ubound`, `bounded_funN`, `bounded_fun_has_lbound`, `bounded_funD` - in `derive.v` + lemmas `derive1_comp`, `derivable_cst`, `derivable_id`, trigger_derive` + instances `is_derive_id`, `is_derive_Nid` - in `sequences.v`: + lemmas `cvg_series_bounded`, `cvg_to_0_linear`, `lim_cvg_to_0_linear`. + lemma `cvg_sub0` + lemma `cvg_zero` + lemmas `ereal_cvg_abs0`, `ereal_cvg_sub0`, `ereal_squeeze` + lemma `ereal_is_cvgD` - in `measure.v`: + hints for `measurable0` and `measurableT` - file `realfun.v`: + lemma `is_derive1_caratheodory`, `is_derive_0_is_cst` + instance `is_derive1_comp` + lemmas `is_deriveV`, `is_derive_inverse` - new file `nsatz_realType` - new file `exp.v` + lemma `normr_nneg` (hint) + definitions `pseries`, `pseries_diffs` + facts `is_cvg_pseries_inside_norm`, `is_cvg_pseries_inside` + lemmas `pseries_diffsN`, `pseries_diffs_inv_fact`, `pseries_diffs_sumE`, `pseries_diffs_equiv`, `is_cvg_pseries_diffs_equiv`, `pseries_snd_diffs` + lemmas `expR0`, `expR_ge1Dx`, `exp_coeffE`, `expRE` + instance `is_derive_expR` + lemmas `derivable_expR`, `continuous_expR`, `expRxDyMexpx`, `expRxMexpNx_1` + lemmas `pexpR_gt1`, `expR_gt0`, `expRN`, `expRD`, `expRMm` + lemmas `expR_gt1`, `expR_lt1`, `expRB`, `ltr_expR`, `ler_expR`, `expR_inj`, `expR_total_gt1`, `expR_total` + definition `ln` + fact `ln0` + lemmas `expK`, `lnK`, `ln1`, `lnM`, `ln_inj`, `lnV`, `ln_div`, `ltr_ln`, `ler_ln`, `lnX` + lemmas `le_ln1Dx`, `ln_sublinear`, `ln_ge0`, `ln_gt0` + lemma `continuous_ln` + instance `is_derive1_ln` + definition `exp_fun`, notation `` `^ `` + lemmas `exp_fun_gt0`, `exp_funr1`, `exp_funr0`, `exp_fun1`, `ler_exp_fun`, `exp_funD`, `exp_fun_inv`, `exp_fun_mulrn` + definition `riemannR`, lemmas `riemannR_gt0`, `dvg_riemannR` - new file `trigo.v` + lemmas `sqrtvR`, `eqr_div`, `big_nat_mul`, `cvg_series_cvg_series_group`, `lt_sum_lim_series` + definitions `periodic`, `alternating` + lemmas `periodicn`, `alternatingn` + definition `sin_coeff` + lemmas `sin_coeffE`, `sin_coeff_even`, `is_cvg_series_sin_coeff` + definition `sin` + lemmas `sinE` + definition `sin_coeff'` + lemmas `sin_coeff'E`, `cvg_sin_coeff'`, `diffs_sin`, `series_sin_coeff0`, `sin0` + definition `cos_coeff` + lemmas `cos_ceff_2_0`, `cos_coeff_2_2`, `cos_coeff_2_4`, `cos_coeffE`, `is_cvg_series_cos_coeff` + definition `cos` + lemma `cosE` + definition `cos_coeff'` + lemmas `cos_coeff'E`, `cvg_cos_coeff'`, `diffs_cos`, `series_cos_coeff0`, `cos0` + instance `is_derive_sin` + lemmas `derivable_sin`, `continuous_sin`, `is_derive_cos`, `derivable_cos`, `continuous_cos` + lemmas `cos2Dsin2`, `cos_max`, `cos_geN1`, `cos_le1`, `sin_max`, `sin_geN1`, `sin_le1` + fact `sinD_cosD` + lemmas `sinD`, `cosD` + lemmas `sin2cos2`, `cos2sin2`, `sin_mulr2n`, `cos_mulr2n` + fact `sinN_cosN` + lemmas `sinN`, `cosN` + lemmas `sin_sg`, `cos_sg`, `cosB`, `sinB` + lemmas `norm_cos_eq1`, `norm_sin_eq1`, `cos1sin0`, `sin0cos1`, `cos_norm` + definition `pi` + lemmas `pihalfE`, `cos2_lt0`, `cos_exists` + lemmas `sin2_gt0`, `cos_pihalf_uniq`, `pihalf_02_cos_pihalf`, `pihalf_02`, `pi_gt0`, `pi_ge0` + lemmas `sin_gt0_pihalf`, `cos_gt0_pihalf`, `cos_pihalf`, `sin_pihalf`, `cos_ge0_pihalf`, `cospi`, `sinpi` + lemmas `cos2pi`, `sin2pi`, `sinDpi`, `cosDpi`, `sinD2pi`, `cosD2pi` + lemmas `cosDpihalf`, `cosBpihalf`, `sinDpihalf`, `sinBpihalf`, `sin_ge0_pi` + lemmas `ltr_cos`, `ltr_sin`, `cos_inj`, `sin_inj` + definition `tan` + lemmas `tan0`, `tanpi`, `tanN`, `tanD`, `tan_mulr2n`, `cos2_tan2` + lemmas `tan_pihalf`, `tan_piquarter`, `tanDpi`, `continuous_tan` + lemmas `is_derive_tan`, `derivable_tan`, `ltr_tan`, `tan_inj` + definition `acos` + lemmas `acos_def`, `acos_ge0`, `acos_lepi`, `acosK`, `acos_gt0`, `acos_ltpi` + lemmas `cosK`, `sin_acos`, `continuous_acos`, `is_derive1_acos` + definition `asin` + lemmas `asin_def`, `asin_geNpi2`, `asin_lepi2`, `asinK`, `asin_ltpi2`, `asin_gtNpi2` + lemmas `sinK`, `cos_asin`, `continuous_asin`, `is_derive1_asin` + definition `atan` + lemmas `atan_def`, `atan_gtNpi2`, `atan_ltpi2`, `atanK`, `tanK` + lemmas `continuous_atan`, `cos_atan` + instance `is_derive1_atan` ### Changed - in `normedtype.v`: + `nbhs_minfty_lt` renamed to `nbhs_ninfty_lt_pos` and changed to not use `{posnum R}` + `nbhs_minfty_le` renamed to `nbhs_ninfty_le_pos` and changed to not use `{posnum R}` - in `sequences.v`: + lemma `is_cvg_ereal_nneg_natsum`: remove superfluous `P` parameter + statements of lemmas `nondecreasing_cvg`, `nondecreasing_is_cvg`, `nonincreasing_cvg`, `nonincreasing_is_cvg` use `has_{l,u}bound` predicates instead of requiring an additional variable + statement of lemma `S1_sup` use `ubound` instead of requiring an additional variable ### Renamed - in `normedtype.v`: + `nbhs_minfty_lt_real` -> `nbhs_ninfty_lt` + `nbhs_minfty_le_real` -> `nbhs_ninfty_le` - in `sequences.v`: + `cvgNminfty` -> `cvgNninfty` + `cvgPminfty` -> `cvgPninfty` + `ler_cvg_minfty` -> `ler_cvg_ninfty` + `nondecreasing_seq_ereal_cvg` -> `ereal_nondecreasing_cvg` - in `normedtype.v`: + `nbhs_pinfty_gt` -> `nbhs_pinfty_gt_pos` + `nbhs_pinfty_ge` -> `nbhs_pinfty_ge_pos` + `nbhs_pinfty_gt_real` -> `nbhs_pinfty_gt` + `nbhs_pinfty_ge_real` -> `nbhs_pinfty_ge` - in `measure.v`: + `measure_bigcup` -> `measure_bigsetU` - in `ereal.v`: + `mulrEDr` -> `muleDr` + `mulrEDl` -> `muleDl` + `dmulrEDr` -> `dmuleDr` + `dmulrEDl` -> `dmuleDl` + `NEFin` -> `EFinN` + `addEFin` -> `EFinD` + `mulEFun` -> `EFinM` + `daddEFin` -> `dEFinD` + `dsubEFin` -> `dEFinB` ### Removed - in `ereal.v`: + lemma `subEFin` ### Infrastructure - in `Makefile.common` + add `doc` and `doc-clean` targets ## [0.3.11] - 2021-11-14 ### Added - in `boolp.v`: + lemmas `orA`, `andA` - in `classical_sets.v` + lemma `setC_inj`, + lemma `setD1K`, + lemma `subTset`, + lemma `setUidPr`, `setUidl` and `setUidr`, + lemma `setIidPr`, `setIidl` and `setIidr`, + lemma `set_fset0`, `set_fset1`, `set_fsetI`, `set_fsetU`, + lemma `bigcap_inf`, `subset_bigcup_r`, `subset_bigcap_r`, `eq_bigcupl`, `eq_bigcapl`, `eq_bigcup`, `eq_bigcap`, `bigcupU`, `bigcapI`, `bigcup_const`, `bigcap_const`, `bigcapIr`, `bigcupUr`, `bigcap_set0`, `bigcap_set1`, `bigcap0`, `bigcapT`, `bigcupT`, `bigcapTP`, `setI_bigcupl`, `setU_bigcapl`, `bigcup_mkcond`, `bigcap_mkcond`, `setC_bigsetU`, `setC_bigsetI`, `bigcap_set_cond`, `bigcap_set`, `bigcap_split`, `bigcap_mkord`, `subset_bigsetI`, `subset_bigsetI_cond`, `bigcap_image` + lemmas `bigcup_setU1`, `bigcap_setU1`, `bigcup_setU`, `bigcap_setU`, `bigcup_fset`, `bigcap_fset`, `bigcup_fsetU1`, `bigcap_fsetU1`, `bigcup_fsetD1`, `bigcap_fsetD1`, + definition `mem_set : A u -> u \in A` + lemmas `in_setP` and `in_set2P` + lemma `forall_sig` + definition `patch`, notation `restrict` and `f \_ D`, definitions `restrict_dep` and `extend_dep`, with lemmas `restrict_depE`, `fun_eq_inP`, `extend_restrict_dep`, `extend_depK`, `restrict_extend_dep`, `restrict_dep_restrict`, `restrict_dep_setT` + lemmas `setUS`, `setSU`, `setUSS`, `setUCA`, `setUAC`, `setUACA`, `setUUl`, `setUUr` + lemmas `bigcup_image`, `bigcup_of_set1`, `set_fset0`, `set_fset1`, `set_fsetI`, `set_fsetU`, `set_fsetU1`, `set_fsetD`, `set_fsetD1`, + notation `` [set` i] `` + notations `set_itv`, `` `[a, b] ``, `` `]a, b] ``, `` `[a, b[ ``, `` `]a, b[ ``, `` `]-oo, b] ``, `` `]-oo, b[ ``, `` `[a, +oo] ``, `` `]a, +oo] ``, `` `]-oo, +oo[ `` + lemmas `setDDl`, `setDDr` - in `topology.v`: + lemma `fmap_comp` + definition `finSubCover` + notations ``{uniform` A -> V }`` and `{uniform U -> V}` and their canonical structures of uniform type. + definition `uniform_fun` to cast into + notations `{uniform A, F --> f }` and `{uniform, F --> f}` + lemma `uniform_cvgE` + lemma `uniform_nbhs` + notation `{ptws U -> V}` and its canonical structure of topological type, + definition `ptws_fun` + notation `{ptws F --> f }` + lemma `ptws_cvgE` + lemma `ptws_uniform_cvg` + lemma `cvg_restrict_dep` + lemma `eq_in_close` + lemma `hausdorrf_close_eq_in` + lemma `uniform_subset_nbhs` + lemma `uniform_subset_cvg` + lemma `uniform_restrict_cvg` + lemma `cvg_uniformU` + lemma `cvg_uniform_set0` + notation `{family fam, U -> V}` and its canonical structure of topological type + notation `{family fam, F --> f}` + lemma `fam_cvgP` + lemma `fam_cvgE` + definition `compactly_in` + lemma `family_cvg_subset` + lemma `family_cvg_finite_covers` + lemma `compact_cvg_within_compact` + lemma `le_bigmax` + definition `monotonous` + lemma `and_prop_in` + lemmas `mem_inc_segment`, `mem_dec_segment` + lemmas `ltr_distlC`, `ler_distlC` + lemmas `subset_ball_prop_in_itv`, `subset_ball_prop_in_itvcc` + lemma `dense_rat` - in `normedtype.v`: + lemma `is_intervalPlt` + lemma `mule_continuous` + lemmas `ereal_is_cvgN`, `ereal_cvgZr`, `ereal_is_cvgZr`, `ereal_cvgZl`, `ereal_is_cvgZl`, `ereal_limZr`, `ereal_limZl`, `ereal_limN` + lemma `bound_itvE` + lemmas `nearN`, `near_in_itv` + lemmas `itvxx`, `itvxxP`, `subset_itv_oo_cc` + lemma `at_right_in_segment` + notations ``f @`[a, b]``, ``g @`]a , b[`` + lemmas `mono_mem_image_segment`, `mono_mem_image_itvoo`, `mono_surj_image_segment`, `inc_segment_image`, `dec_segment_image`, `inc_surj_image_segment`, `dec_surj_image_segment`, `inc_surj_image_segmentP`, `dec_surj_image_segmentP`, ``mono_surj_image_segmentP`` - in `reals.v`: + lemmas `floor1`, `floor_neq0` + lemma `int_lbound_has_minimum` + lemma `rat_in_itvoo` - in `ereal.v`: + notation `x +? y` for `adde_def x y` + lemmas `ge0_adde_def`, `onee_neq0`, `mule0`, `mul0e` + lemmas `mulrEDr`, `mulrEDl`, `ge0_muleDr`, `ge0_muleDl` + lemmas `ge0_sume_distrl`, `ge0_sume_distrr` + lemmas `mulEFin`, `mule_neq0`, `mule_ge0`, `muleA` + lemma `muleE` + lemmas `muleN`, `mulNe`, `muleNN`, `gee_pmull`, `lee_mul01Pr` + lemmas `lte_pdivr_mull`, `lte_pdivr_mulr`, `lte_pdivl_mull`, `lte_pdivl_mulr`, `lte_ndivl_mulr`, `lte_ndivl_mull`, `lte_ndivr_mull`, `lte_ndivr_mulr` + lemmas `lee_pdivr_mull`, `lee_pdivr_mulr`, `lee_pdivl_mull`, `lee_pdivl_mulr`, `lee_ndivl_mulr`, `lee_ndivl_mull`, `lee_ndivr_mull`, `lee_ndivr_mulr` + lemmas `mulrpinfty`, `mulrninfty`, `mulpinftyr`, `mulninftyr`, `mule_gt0` + definition `mulrinfty` + lemmas `mulN1e`, `muleN1` + lemmas `mule_ninfty_pinfty`, `mule_pinfty_ninfty`, `mule_pinfty_pinfty` + lemmas `mule_le0_ge0`, `mule_ge0_le0`, `pmule_rle0`, `pmule_lle0`, `nmule_lle0`, `nmule_rle0` + lemma `sube0` + lemmas `adde_le0`, `sume_le0`, `oppe_ge0`, `oppe_le0`, `lte_opp`, `gee_addl`, `gee_addr`, `lte_addr`, `gte_subl`, `gte_subr`, `lte_le_sub`, `lee_sum_npos_subset`, `lee_sum_npos`, `lee_sum_npos_ord`, `lee_sum_npos_natr`, `lee_sum_npos_natl`, `lee_sum_npos_subfset`, `lee_opp`, `le0_muleDl`, `le0_muleDr`, `le0_sume_distrl`, `le0_sume_distrr`, `adde_defNN`, `minEFin`, `mine_ninftyl`, `mine_ninftyr`, `mine_pinftyl`, `mine_pinftyr`, `oppe_max`, `oppe_min`, `mineMr`, `mineMl` + definitions `dual_adde` + notations for the above in scope `ereal_dual_scope` delimited by `dE` + lemmas `dual_addeE`, `dual_sumeE`, `dual_addeE_def`, `daddEFin`, `dsumEFin`, `dsubEFin`, `dadde0`, `dadd0e`, `daddeC`, `daddeA`, `daddeAC`, `daddeCA`, `daddeACA`, `doppeD`, `dsube0`, `dsub0e`, `daddeK`, `dfin_numD`, `dfineD`, `dsubeK`, `dsube_eq`, `dsubee`, `dadde_eq_pinfty`, `daddooe`, `dadde_Neq_pinfty`, `dadde_Neq_ninfty`, `desum_fset_pinfty`, `desum_pinfty`, `desum_fset_ninfty`, `desum_ninfty`, `dadde_ge0`, `dadde_le0`, `dsume_ge0`, `dsume_le0`, `dsube_lt0`, `dsubre_le0`, `dsuber_le0`, `dsube_ge0`, `lte_dadd`, `lee_daddl`, `lee_daddr`, `gee_daddl`, `gee_daddr`, `lte_daddl`, `lte_daddr`, `gte_dsubl`, `gte_dsubr`, `lte_dadd2lE`, `lee_dadd2l`, `lee_dadd2lE`, `lee_dadd2r`, `lee_dadd`, `lte_le_dadd`, `lee_dsub`, `lte_le_dsub`, `lee_dsum`, `lee_dsum_nneg_subset`, `lee_dsum_npos_subset`, `lee_dsum_nneg`, `lee_dsum_npos`, `lee_dsum_nneg_ord`, `lee_dsum_npos_ord`, `lee_dsum_nneg_natr`, `lee_dsum_npos_natr`, `lee_dsum_nneg_natl`, `lee_dsum_npos_natl`, `lee_dsum_nneg_subfset`, `lee_dsum_npos_subfset`, `lte_dsubl_addr`, `lte_dsubl_addl`, `lte_dsubr_addr`, `lee_dsubr_addr`, `lee_dsubl_addr`, `ge0_dsume_distrl`, `dmulrEDr`, `dmulrEDl`, `dge0_mulreDr`, `dge0_mulreDl`, `dle0_mulreDr`, `dle0_mulreDl`, `ge0_dsume_distrr`, `le0_dsume_distrl`, `le0_dsume_distrr`, `lee_abs_dadd`, `lee_abs_dsum`, `lee_abs_dsub`, `dadde_minl`, `dadde_minr`, `lee_dadde`, `lte_spdaddr` + lemmas `abse0`, `abse_ge0`, `lee_abs`, `abse_id`, `lee_abs_add`, `lee_abs_sum`, `lee_abs_sub`, `gee0_abs`, `gte0_abs`, `lee_abs`, `lte0_abs`, `abseM`, `lte_absl`, `eqe_absl` + notations `maxe`, `mine` + lemmas `maxEFin`, `adde_maxl`, `adde_maxr`, `maxe_pinftyl`, `maxe_pinftyr`, `maxe_ninftyl`, `maxe_ninftyr` + lemmas `sub0e`, `lee_wpmul2r`, `mule_ninfty_ninfty` + lemmas `sube_eq` `lte_pmul2r`, `lte_pmul2l`, `lte_nmul2l`, `lte_nmul2r`, `mule_le0`, `pmule_llt0`, `pmule_rlt0`, `nmule_llt0`, `nmule_rlt0`, `mule_lt0` + lemmas `maxeMl`, `maxeMr` + lemmas `lte_0_pinfty`, `lte_ninfty_0`, `lee_0_pinfty`, `lee_ninfty_0`, `oppe_gt0`, `oppe_lt0` + lemma `telescope_sume` + lemmas `lte_add_pinfty`, `lte_sum_pinfty` - in `cardinality.v`: + definition `nat_of_pair`, lemma `nat_of_pair_inj` + lemmas `surjectiveE`, `surj_image_eq`, `can_surjective` - in `sequences.v`: + lemmas `lt_lim`, `nondecreasing_dvg_lt`, `ereal_lim_sum` + lemmas `ereal_nondecreasing_opp`, `ereal_nondecreasing_is_cvg`, `ereal_nonincreasing_cvg`, `ereal_nonincreasing_is_cvg` - file `realfun.v`: + lemmas `itv_continuous_inj_le`, `itv_continuous_inj_ge`, `itv_continuous_inj_mono` + lemmas `segment_continuous_inj_le`, `segment_continuous_inj_ge`, `segment_can_le`, `segment_can_ge`, `segment_can_mono` + lemmas `segment_continuous_surjective`, `segment_continuous_le_surjective`, `segment_continuous_ge_surjective` + lemmas `continuous_inj_image_segment`, `continuous_inj_image_segmentP`, `segment_continuous_can_sym`, `segment_continuous_le_can_sym`, `segment_continuous_ge_can_sym`, `segment_inc_surj_continuous`, `segment_dec_surj_continuous`, `segment_mono_surj_continuous` + lemmas `segment_can_le_continuous`, `segment_can_ge_continuous`, `segment_can_continuous` + lemmas `near_can_continuousAcan_sym`, `near_can_continuous`, `near_continuous_can_sym` + lemmas `exp_continuous`, `sqr_continuous`, `sqrt_continuous`. - in `measure.v`: + definition `seqDU` + lemmas `trivIset_seqDU`, `bigsetU_seqDU`, `seqDU_bigcup_eq`, `seqDUE` + lemmas `bigcup_measurable`, `bigcap_measurable`, `bigsetI_measurable` ### Changed - in `classical_sets.v` + `setU_bigcup` -> `bigcupUl` and reversed + `setI_bigcap` -> `bigcapIl` and reversed + removed spurious disjunction in `bigcup0P` + `bigcup_ord` -> `bigcup_mkord` and reversed + `bigcup_of_set1` -> `bigcup_imset1` + `bigcupD1` -> `bigcup_setD1` and `bigcapD1` -> `bigcap_setD1` and rephrased using ``P `\ x`` instead of ``P `&` ~` [set x]`` + order of arguments for `setIS`, `setSI`, `setUS`, `setSU`, `setSD`, `setDS` + generalize lemma `perm_eq_trivIset` - in `topology.v`: + replace `closed_cvg_loc` and `closed_cvg` by a more general lemma `closed_cvg` - in `normedtype.v`: + remove useless parameter from lemma `near_infty_natSinv_lt` + definition `is_interval` + the following lemmas have been generalized to `orderType`, renamed as follows, moved out of the module `BigmaxBigminr` to `topology.v`: * `bigmaxr_mkcond` -> `bigmax_mkcond` * `bigmaxr_split` -> `bigmax_split` * `bigmaxr_idl` -> `bigmax_idl` * `bigmaxrID` -> `bigmaxID` * `bigmaxr_seq1` -> `bigmax_seq1` * `bigmaxr_pred1_eq` -> `bigmax_pred1_eq` * `bigmaxr_pred1` -> `bigmax_pred1` * `bigmaxrD1` -> `bigmaxD1` * `ler_bigmaxr_cond` -> `ler_bigmax_cond ` * `ler_bigmaxr` -> `ler_bigmax` * `bigmaxr_lerP` -> `bigmax_lerP` * `bigmaxr_sup` -> `bigmax_sup` * `bigmaxr_ltrP` -> `bigmax_ltrP` * `bigmaxr_gerP` -> `bigmax_gerP` * `bigmaxr_eq_arg` -> `bigmax_eq_arg` * `bigmaxr_gtrP` -> `bigmax_gtrP` * `eq_bigmaxr` -> `eq_bigmax` * module `BigmaxBigminr` -> `Bigminr` - in `ereal.v`: + change definition `mule` such that 0 x oo = 0 + `adde` now defined using `nosimpl` and `adde_subdef` + `mule` now defined using `nosimpl` and `mule_subdef` + lemmas `lte_addl`, `lte_subl_addr`, `lte_subl_addl`, `lte_subr_addr`, `lte_subr_addr`, `lte_subr_addr`, `lb_ereal_inf_adherent` + `oppeD` to use `fin_num` + weaken `realDomainType` to `numDomainType` in `mule_ninfty_pinfty`, `mule_pinfty_ninfty`, `mule_pinfty_pinfty`, `mule_ninfty_ninfty`, `mule_neq0`, `mule_ge0`, `mule_le0`, `mule_gt0`, `mule_le0_ge0`, `mule_ge0_le0` - in `reals.v`: + generalize from `realType` to `realDomainType` lemmas `has_ub_image_norm`, `has_inf_supN` - in `sequences.v`: + generalize from `realType` to `realFieldType` lemmas `cvg_has_ub`, `cvg_has_sup`, `cvg_has_inf` + change the statements of `cvgPpinfty`, `cvgPminfty`, `cvgPpinfty_lt` + generalize `nondecreasing_seqP`, `nonincreasing_seqP`, `increasing_seqP`, `decreasing_seqP` to equivalences + generalize `lee_lim`, `ereal_cvgD_pinfty_fin`, `ereal_cvgD_ninfty_fin`, `ereal_cvgD`, `ereal_limD`, `ereal_pseries0`, `eq_ereal_pseries` from `realType` to `realFieldType` + lemma `ereal_pseries_pred0` moved from `csum.v`, minor generalization - in `landau.v`: + lemma `cvg_shift` renamed to `cvg_comp_shift` and moved to `normedtype.v` - in `measure.v`: + lemmas `measureDI`, `measureD`, `sigma_finiteP` - `exist_congr` -> `eq_exist` and moved from `classsical_sets.v` to `boolp.v` - `predeqP` moved from `classsical_sets.v` to `boolp.v` - moved from `landau.v` to `normedtype.v`: + lemmas `comp_shiftK`, `comp_centerK`, `shift0`, `center0`, `near_shift`, `cvg_shift` - lemma `exists2P` moved from `topology.v` to `boolp.v` - move from `sequences.v` to `normedtype.v` and generalize from `nat` to `T : topologicalType` + lemmas `ereal_cvgN` ### Renamed - in `classical_sets.v` + `eqbigcup_r` -> `eq_bigcupr` + `eqbigcap_r` -> `eq_bigcapr` + `bigcup_distrr` -> `setI_bigcupr` + `bigcup_distrl` -> `setI_bigcupl` + `bigcup_refl` -> `bigcup_splitn` + `setMT` -> `setMTT` - in `ereal.v`: + `adde` -> `adde_subdef` + `mule` -> `mule_subdef` + `real_of_extended` -> `fine` + `real_of_extendedN` -> `fineN` + `real_of_extendedD` -> `fineD` + `EFin_real_of_extended` -> `fineK` + `real_of_extended_expand` -> `fine_expand` - in `sequences.v`: + `nondecreasing_seq_ereal_cvg` -> `nondecreasing_ereal_cvg` - in `topology.v`: + `nbhs'` -> `dnbhs` + `nbhsE'` -> `dnbhs` + `nbhs'_filter` -> `dnbhs_filter` + `nbhs'_filter_on` -> `dnbhs_filter_on` + `nbhs_nbhs'` -> `nbhs_dnbhs` + `Proper_nbhs'_regular_numFieldType` -> `Proper_dnbhs_regular_numFieldType` + `Proper_nbhs'_numFieldType` -> `Proper_dnbhs_numFieldType` + `ereal_nbhs'` -> `ereal_dnbhs` + `ereal_nbhs'_filter` -> `ereal_dnbhs_filter` + `ereal_nbhs'_le` -> `ereal_dnbhs_le` + `ereal_nbhs'_le_finite` -> `ereal_dnbhs_le_finite` + `Proper_nbhs'_numFieldType` -> `Proper_dnbhs_numFieldType` + `Proper_nbhs'_realType` -> `Proper_dnbhs_realType` + `nbhs'0_lt` -> `dnbhs0_lt` + `nbhs'0_le` -> `dnbhs0_le` + `continuity_pt_nbhs'` -> `continuity_pt_dnbhs` - in `measure.v`: + `measure_additive2` -> `measureU` + `measure_additive` -> `measure_bigcup` ### Removed - in `boolp.v`: + definition `PredType` + local notation `predOfType` - in `nngnum.v`: + module `BigmaxrNonneg` containing the following lemmas: * `bigmaxr_mkcond`, `bigmaxr_split`, `bigmaxr_idl`, `bigmaxrID`, `bigmaxr_seq1`, `bigmaxr_pred1_eq`, `bigmaxr_pred1`, `bigmaxrD1`, `ler_bigmaxr_cond`, `ler_bigmaxr`, `bigmaxr_lerP`, `bigmaxr_sup`, `bigmaxr_ltrP`, `bigmaxr_gerP`, `bigmaxr_gtrP` - in `sequences.v`: + lemma `closed_seq` - in `normedtype.v`: + lemma `is_intervalPle` - in `topology.v`: + lemma `continuous_cst` + definition `cvg_to_locally` - in `csum.v`: + lemma `ub_ereal_sup_adherent_img` ## [0.3.10] - 2021-08-11 ### Added - in `classical_sets.v`: + lemmas `bigcup_image`, `bigcup_of_set1` + lemmas `bigcupD1`, `bigcapD1` - in `boolp.v`: + definitions `equality_mixin_of_Type`, `choice_of_Type` - in `normedtype.v`: + lemma `cvg_bounded_real` + lemma `pseudoMetricNormedZModType_hausdorff` - in `sequences.v`: + lemmas `seriesN`, `seriesD`, `seriesZ`, `is_cvg_seriesN`, `lim_seriesN`, `is_cvg_seriesZ`, `lim_seriesZ`, `is_cvg_seriesD`, `lim_seriesD`, `is_cvg_seriesB`, `lim_seriesB`, `lim_series_le`, `lim_series_norm` - in `measure.v`: + HB.mixin `AlgebraOfSets_from_RingOfSets` + HB.structure `AlgebraOfSets` and notation `algebraOfSetsType` + HB.instance `T_isAlgebraOfSets` in HB.builders `isAlgebraOfSets` + lemma `bigcup_set_cond` + definition `measurable_fun` + lemma `adde_undef_nneg_series` + lemma `adde_def_nneg_series` + lemmas `cvg_geometric_series_half`, `epsilon_trick` + definition `measurable_cover` + lemmas `cover_measurable`, `cover_subset` + definition `mu_ext` + lemmas `le_mu_ext`, `mu_ext_ge0`, `mu_ext0`, `measurable_uncurry`, `mu_ext_sigma_subadditive` + canonical `outer_measure_of_measure` ### Changed - in `ereal.v`, definition `adde_undef` changed to `adde_def` + consequently, the following lemmas changed: * in `ereal.v`, `adde_undefC` renamed to `adde_defC`, `fin_num_adde_undef` renamed to `fin_num_adde_def` * in `sequences.v`, `ereal_cvgD` and `ereal_limD` now use hypotheses with `adde_def` - in `sequences.v`: + generalize `{in,de}creasing_seqP`, `non{in,de}creasing_seqP` from `numDomainType` to `porderType` - in `normedtype.v`: + generalized from `normedModType` to `pseudoMetricNormedZmodType`: * `nbhs_le_nbhs_norm` * `nbhs_norm_le_nbhs` * `nbhs_nbhs_norm` * `nbhs_normP` * `filter_from_norm_nbhs` * `nbhs_normE` * `filter_from_normE` * `near_nbhs_norm` * `nbhs_norm_ball_norm` * `nbhs_ball_norm` * `ball_norm_dec` * `ball_norm_sym` * `ball_norm_le` * `cvg_distP` * `cvg_dist` * `nbhs_norm_ball` * `dominated_by` * `strictly_dominated_by` * `sub_dominatedl` * `sub_dominatedr` * `dominated_by1` * `strictly_dominated_by1` * `ex_dom_bound` * `ex_strict_dom_bound` * `bounded_near` * `boundedE` * `sub_boundedr` * `sub_boundedl` * `ex_bound` * `ex_strict_bound` * `ex_strict_bound_gt0` * `norm_hausdorff` * `norm_closeE` * `norm_close_eq` * `norm_cvg_unique` * `norm_cvg_eq` * `norm_lim_id` * `norm_cvg_lim` * `norm_lim_near_cst` * `norm_lim_cst` * `norm_cvgi_unique` * `norm_cvgi_map_lim` * `distm_lt_split` * `distm_lt_splitr` * `distm_lt_splitl` * `normm_leW` * `normm_lt_split` * `cvg_distW` * `continuous_cvg_dist` * `add_continuous` - in `measure.v`: + generalize lemma `eq_bigcupB_of` + HB.mixin `Measurable_from_ringOfSets` changed to `Measurable_from_algebraOfSets` + HB.instance `T_isRingOfSets` becomes `T_isAlgebraOfSets` in HB.builders `isMeasurable` + lemma `measurableC` now applies to `algebraOfSetsType` instead of `measureableType` - moved from `normedtype.v` to `reals.v`: + lemmas `inf_lb_strict`, `sup_ub_strict` - moved from `sequences.v` to `reals.v`: + lemma `has_ub_image_norm` ### Renamed - in `classical_sets.v`: + `bigcup_mkset` -> `bigcup_set` + `bigsetU` -> `bigcup` + `bigsetI` -> `bigcap` + `trivIset_bigUI` -> `trivIset_bigsetUI` - in `measure.v`: + `isRingOfSets` -> `isAlgebraOfSets` + `B_of` -> `seqD` + `trivIset_B_of` -> `trivIset_seqD` + `UB_of` -> `setU_seqD` + `bigUB_of` -> `bigsetU_seqD` + `eq_bigsetUB_of` -> `eq_bigsetU_seqD` + `eq_bigcupB_of` -> `eq_bigcup_seqD` + `eq_bigcupB_of_bigsetU` -> `eq_bigcup_seqD_bigsetU` ### Removed - in `nngnum.v`: + lemma `filter_andb` ## [0.3.9] - 2021-06-12 ### Added - in `sequences.v`: + lemma `dvg_harmonic` - in `classical_sets.v`: + definitions `image`, `image2` ### Changed - in `classical_sets.v` + notations `[set E | x in A]` and `[set E | x in A & y in B]` now use definitions `image` and `image2` resp. + notation ``f @` A`` now uses the definition `image` + the order of arguments of `image` has changed compared to version 0.3.7: it is now `image A f` (it used to be `image f A`) ### Removed - in `sequences.v`: + lemma `iter_addr` ## [0.3.8] - 2021-06-01 ### Added - file `reals.v`: + lemmas `le_floor`, `le_ceil` - in `ereal.v`: + lemmas `big_nat_widenl`, `big_geq_mkord` + lemmas `lee_sum_nneg_natr`, `lee_sum_nneg_natl` + lemmas `ereal_sup_gt`, `ereal_inf_lt` + notation `0`/`1` for `0%R%:E`/`1%R:%E` in `ereal_scope` - in `classical_sets.v` + lemma `subset_bigsetU_cond` + lemma `eq_imagel` - in `sequences.v`: + notations `\sum_(i