Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(Mathlib/Data/Seq/Seq): make Sequence.mem_rec_on more useful #13509

Closed
wants to merge 43 commits into from

Conversation

Komyyy
Copy link
Collaborator

@Komyyy Komyyy commented Jun 4, 2024

theorem mem_rec_on {C : Seq α → Prop} {a s} (M : a ∈ s)
    (h1 : ∀ b s', a = b ∨ C s' → C (cons b s')) : C s

to

theorem mem_rec_on {a} {C : (s : Seq' α) → a ∈ s → Prop} {s} (M : a ∈ s)
    (mem_cons : ∀ s, C (cons a s) (mem_cons a s))
    (mem_cons_of_mem : ∀ (y) {s} (h : a ∈ s), C s h → C (cons y s) (mem_cons_of_mem y h)) :
    C s M

This change make Seq'.mem_rec_on available in induction tactic.


This PR consists Continued fractions makes an isomorphism between irrationals and baire space
project

Open in Gitpod

@Komyyy Komyyy added blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) awaiting-review awaiting-CI labels Jun 4, 2024
@leanprover-community-mathlib4-bot
Copy link
Collaborator

This PR/issue depends on:

Copy link

github-actions bot commented Jun 7, 2024

Import summary

No significant changes to the import graph

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jun 19, 2024
@Komyyy Komyyy removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jul 2, 2024
Copy link

github-actions bot commented Jul 2, 2024

PR summary b7756f5b4c

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Data.Seq.Parallel -284
Mathlib.Data.Seq.WSeq -283
Mathlib.Data.Seq.Seq -279
Mathlib.Data.Seq.Computation -276
Mathlib.Data.Sequence.Computation 276
Mathlib.Data.Sequence.Sequence 279
Mathlib.Data.Sequence.WSequence 283
Mathlib.Data.Sequence.Parallel 284

Declarations diff

+ IntFractPair.get?_sequence1_eq_succ_get?_stream
+ IntFractPair.sequence1_fst_eq_of
+ Sequence
+ Sequence1
+ Stream'.IsSequence
+ WSequence
+ instance : Functor Sequence where map := @map
+ instance : Inhabited (Sequence α)
+ instance : LawfulFunctor Sequence
+ instance : Membership α (Sequence α)
+ instance [Inhabited α] : Inhabited (Sequence1 α)
+ mem_think_of_mem
+ of_h_eq_intFractPair_sequence1_fst_b
+ of_terminatedAt_iff_intFractPair_sequence1_terminatedAt
+ sequence1
+ stream_isSequence
- IntFractPair.get?_seq1_eq_succ_get?_stream
- IntFractPair.seq1_fst_eq_of
- IsSeq
- Seq
- Seq1
- WSeq
- instance : Functor Seq where map := @map
- instance : Inhabited (Seq α)
- instance : LawfulFunctor Seq
- instance : Membership α (Seq α)
- instance [Inhabited α] : Inhabited (Seq1 α)
- of_h_eq_intFractPair_seq1_fst_b
- of_terminatedAt_iff_intFractPair_seq1_terminatedAt
- seq1
- stream_isSeq
-+-+ BisimO
-+-+ Mem
-+-+ append
-+-+ append_assoc
-+-+ append_nil
-+-+ bind
-+-+ bind_assoc
-+-+ coeList
-+-+ coeStream
-+-+ cons
-+-+ destruct
-+-+ destruct_nil
-+-+ drop
-+-+ dropn_add
-+-+ dropn_tail
-+-+ exists_of_mem_map
-+-+ get?
-+-+ get?_tail
-+-+ head
-+-+ head_nil
-+-+ join_append
-+-+ join_join
-+-+ join_map_ret
-+-+ lawfulMonad
-+-+ map_comp
-+-+ mem_append_left
-+-+ mem_cons
-+-+ mem_cons_iff
-+-+ mem_cons_of_mem
-+-+ mem_map
-+-+ monad
-+-+ nil
-+-+ nil_append
-+-+ ofList
-+-+ ofList_nil
-+-+ ofStream
-+-+ of_mem_append
-+-+ recOn
-+-+ ret
-+-+ ret_bind
-+-+ splitAt
-+-+ tail
-+-+ tail_nil
-+-+ take
-+-+ toList
-+-+ toSeq
-+-+ zip
-+-+ zipWith
-+-+-+ join_nil
-+--++ join
-+--++ map_id
--++ coeSeq
--++ mem_rec_on
--++-+ map

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.

@Komyyy Komyyy added WIP Work in progress and removed merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) awaiting-review labels Jul 4, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jul 19, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) and removed merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) labels Jul 21, 2024
@Komyyy Komyyy removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Aug 4, 2024
@Komyyy Komyyy changed the title refactor(Mathlib/Data/Seq/Seq): make Seq'.mem_rec_on more useful refactor(Mathlib/Data/Seq/Seq): make Sequence.mem_rec_on more useful Aug 4, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Aug 5, 2024
@Komyyy
Copy link
Collaborator Author

Komyyy commented Dec 4, 2024

❗This project is temporarily frozen, PRs are all closed for a moment(I keep the branch as it may be revived someday). Detail

@Komyyy Komyyy closed this Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) WIP Work in progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants