groups
npx machina-cli add skill parcadei/Continuous-Claude-v3/groups --openclawGroups
When to Use
Use this skill when working on groups problems in abstract algebra.
Decision Tree
-
*Is G a group under operation ?
- Check closure: a,b in G implies a*b in G?
- Check associativity: (ab)c = a(bc)?
- Check identity: exists e such that ea = ae = a?
- Check inverses: for all a exists a^(-1) such that a*a^(-1) = e?
- Verify with
z3_solve.py prove "group_axioms"
-
Subgroup Test
- Show H is non-empty (usually by showing e in H)
- Show that for all a, b in H: ab^(-1) in H
z3_solve.py prove "subgroup_criterion"
-
Homomorphism Proof
- Verify phi(ab) = phi(a)phi(b) for all a, b in G1
- Note: phi(e1) = e2 and phi(a^(-1)) = phi(a)^(-1) follow automatically
sympy_compute.py simplify "phi(a*b) - phi(a)*phi(b)"
-
Order and Structure
- Element order: smallest n where a^n = e
- Group order: |G| = number of elements
- Lagrange: |H| divides |G| for subgroup H
Tool Commands
Z3_Group_Axioms
uv run python -m runtime.harness scripts/z3_solve.py prove "ForAll([a,b,c], op(op(a,b),c) == op(a,op(b,c)))"
Z3_Subgroup
uv run python -m runtime.harness scripts/z3_solve.py prove "subgroup_criterion"
Sympy_Simplify
uv run python -m runtime.harness scripts/sympy_compute.py simplify "phi(a*b) - phi(a)*phi(b)"
Key Techniques
From indexed textbooks:
- [Abstract Algebra] Write a computer program to add and multiply mod n, for any n given as input. The output of these operations should be the least residues of the sums and products of two integers. Also include the feature that if (a,n) = 1, an integer c between 1 and n — 1 such that a-c = | may be printed on request.
- [Abstract Algebra] With a certain amount of elementary argument (calculations in A7, for example see Exercise 27) it can be shown that there is, up to isomorphism, a unique simple group of order 168 (it is not always the case that there is at most one simple group of a given order: there are 2 nonisomorphic simple groups of order +8! We could further show that such a G would have no elements of order pg, p and q distinct primes, no elements of order 9, and that distinct Sylow subgroups would intersect in the identity. We could then count the elements in Sylow p-subgroups for all primes p and we would find that these would total to exactly |G|.
- [Abstract Algebra] Some Techniques Before listing some techniques for producing normal subgroups in groups of a given (“medium”) order we note that in all the problems where one deals with groups of order n, for some specific n, it is first necessary to factor n into prime powers and then to compute the permissible values of np, for all primes p dividing n. We emphasize the need to be comfortable computing mod p when carrying out the last step. The techniques we describe may be listed as follows: (1) Counting elements.
- [Abstract Algebra] Composition Series and the Hélder Program Sec. This proof takes 255 pages of hard mathematics. Part (2) of the Hélder Program, sometimes called the extension problem, was rather vaguely formulated.
- [Abstract Algebra] APPLICATIONS IN GROUPS OF MEDIUM ORDER The purpose of this section is to work through a number of examples which illustrate many of the techniques we have developed. These examples use Sylow’s Theorems ex- tensively and demonstrate how they are applied in the study of finite groups. Motivated by the Holder Program we address primarily the problem of showing that for certain n every group of order n has a proper, nontrivial normal subgroup (i.
Cognitive Tools Reference
See .claude/skills/math-mode/SKILL.md for full tool documentation.
Source
git clone https://github.com/parcadei/Continuous-Claude-v3/blob/main/.claude/skills/math/abstract-algebra/groups/SKILL.mdView on GitHub Overview
This skill collects practical strategies for solving problems in groups within abstract algebra. It centers on a decision-tree approach to verify group axioms, test subgroups, and prove homomorphisms, while also addressing element orders and overall structure.
How This Skill Works
It guides you through a step-by-step decision tree that prompts checks for closure, associativity, identity, and inverses, supported by automated tools like z3_solve.py for axioms. It then covers subgroup criteria, homomorphism proofs, and order/structure considerations, with concrete commands to verify properties.
When to Use It
- When determining if a set with a binary operation forms a group under that operation
- When proving a subset is a subgroup using the subgroup criterion
- When establishing a homomorphism between groups and verifying its preservation of the operation
- When computing element orders and applying Lagrange's theorem to group orders
- When analyzing the overall order and structure of a group, including Sylow-type reasoning
Quick Start
- Step 1: Check the group axioms (closure, associativity, identity, inverses) and verify with the tool: uv run python -m runtime.harness scripts/z3_solve.py prove \"ForAll([a,b,c], op(op(a,b),c) == op(a,op(b,c)))\"
- Step 2: Apply the Subgroup Test: show e ∈ H and that for all a,b ∈ H, ab^{-1} ∈ H; run uv run python -m runtime.harness scripts/z3_solve.py prove \"subgroup_criterion\"
- Step 3: For homomorphisms, verify phi(ab) = phi(a)phi(b); note phi(e) = e and phi(a^{-1}) = phi(a)^{-1} follow automatically; run uv run python -m runtime.harness scripts/sympy_compute.py simplify \"phi(a*b) - phi(a)*phi(b)\"
Best Practices
- Explicitly verify closure, associativity, identity, and inverses for the given operation
- Apply the subgroup criterion: ensure non-empty and that ab^{-1} ∈ H for all a,b ∈ H
- When proving a homomorphism, check phi(ab) = phi(a)phi(b) and use automatic results for phi(e) and phi(a^{-1})
- Determine element orders (the smallest n with a^n = e) and relate them to group order via Lagrange's theorem
- Use standard techniques and computational tools (e.g., Z3 for axioms, Sympy for simplifications) to verify properties
Example Use Cases
- Prove that (Z_n, +) is a finite group and determine the order of its elements
- Demonstrate that a subset H with the subgroup criterion is indeed a subgroup of G
- Construct and verify a homomorphism between two known groups and inspect its kernel and image
- Compute the order of an element in a finite group and apply Lagrange's theorem to deduce divisibility
- Apply Sylow-like reasoning to problems about groups of a given order