Page actions
instrument mechanism / verified-clean
Function Composition & Inverse Finder mechanism
The inspectable method record for Function Composition & Inverse Finder, kept separate from implementation and qualification.
Model scope
The core formulas are standard and correct. The exact ambiguity requiring review is that the input specification provides expressions but no domains, codomains, real-versus-complex mode, or inverse-branch policy. The instrument should require or infer these explicitly, report the composition domain, and distinguish an inverse function from a multivalued inverse relation.
- The composition formula (f∘g)(x)=f(g(x)) is correct, but the instrument must enforce Dom(f∘g)={x∈Dom(g):g(x)∈Dom(f)}; algebraic cancellation can otherwise hide excluded inputs.
- Solving y=f(x) for x is a valid inverse-finding method only when f is one-to-one on a specified domain and the selected solution branch is stated.
- The specification does not require explicit domain and codomain handling, so invertibility is ambiguous for functions such as x^2, rational functions, radicals, and piecewise functions.
- The inverse plot is valid only on the inverse's actual domain and range; it should not blindly mirror graphs when no single-valued inverse exists.
- The honest label says algebraically invertible forms are limited, but it does not explicitly disclose branch selection, domain restrictions, or cases where an inverse relation exists without being an inverse function.
Units and conventions
- Variables are dimensionless real numbers unless the user supplies a mathematical unit system.
- For addition, subtraction, exponents, and function composition, operands must have compatible dimensions; the instrument currently has no unit metadata or unit validation.
- All test vectors use real-valued inputs and outputs.
- Exact symbolic results are preferred; numerical evaluation is only for verification.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"f(x)": "2*x-3",
"g(x)": "x^2+1",
"f_domain": "all real x",
"g_domain": "all real x"
},
"expected_outputs": {
"composition": "2*x^2-1",
"inverse_of_f": "(y+3)/2",
"inverse_domain": "all real y",
"inverse_range": "all real x",
"spot_checks": [
{
"at": -2,
"input_side": 7,
"answer_side": 7
},
{
"at": 0.5,
"input_side": -0.5,
"answer_side": -0.5
}
],
"inverse_checks": [
{
"at": 7,
"inverse_value": 5,
"f_of_inverse": 7,
"target": 7,
"residual": 0
},
{
"at": -0.5,
"inverse_value": 1.25,
"f_of_inverse": -0.5,
"target": -0.5,
"residual": 0
}
]
},
"reference_data": {
"composition_identity": "(f∘g)(x)=f(g(x))",
"inverse_equation": "y=2*x-3 => y+3=2*x => x=(y+3)/2"
},
"working": "Composition: g(x)=x^2+1. Then f(g(x))=2*(x^2+1)-3=2*x^2+2-3=2*x^2-1. At x=-2: g(-2)=(-2)^2+1=4+1=5; f(5)=2*5-3=10-3=7. The composed expression gives 2*(-2)^2-1=8-1=7. At x=0.5: g(0.5)=0.25+1=1.25; f(1.25)=2.5-3=-0.5. The composed expression gives 2*0.25-1=0.5-1=-0.5. Inverse: y=2*x-3; add 3 to obtain y+3=2*x; divide by 2 to obtain x=(y+3)/2. At y=7: inverse=(7+3)/2=5; f(5)=10-3=7, residual 7-7=0. At y=-0.5: inverse=(-0.5+3)/2=2.5/2=1.25; f(1.25)=2.5-3=-0.5, residual -0.5-(-0.5)=0."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
The division-by-zero vector produces an undefined composition and an undefined inverse value at y = 0. The instrument must explicitly reject these cases; returning a finite expression or numeric value would be a correctness break. The branch and convention probes also require preserving piecewise domains and unary-sign semantics.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche8/tranche8-results.jsonBOUNDARY_HAZARD_CATALOG.json