# IndefiniteIntegrals1

## Indefinite Integrals and General Antiderivatives

Click to enlarge

This PG code shows how to check answers that are indefinite integrals or general antiderivatives.

PG problem file Explanation

Problem tagging:

```DOCUMENT();

"PGstandard.pl",
"MathObjects.pl",
"parserFormulaUpToConstant.pl",
);

TEXT(beginproblem());
```

Initialization:

```Context("Numeric");

\$specific = Formula("e^x");

\$general = FormulaUpToConstant("e^x");
```

Setup: Examples of specific and general antiderivatives:

• Specific antiderivatives: `e^x, e^x + pi`
• General antiderivatives: `e^x + C, e^x + C - 3, e^x + K`

The specific antiderivative is an ordinary formula, and we check this answer, we will specify that it be a formula evaluated up to a constant (see the Answer Evaluation section below). For the general antiderivative, we use the `FormulaUpToConstant()` constructor provided by `parserFormulaUpToConstant.pl`.

```Context()->texStrings;
BEGIN_TEXT
Enter a specific antiderivative for \( e^x \):
\{ ans_rule(20) \}
\$BR
\$BR
Enter the most general antiderivative for \( e^x \):
\{ ans_rule(20) \}
END_TEXT
Context()->normalStrings;
```

Main Text:

```\$showPartialCorrectAnswers = 1;

ANS( \$specific->cmp(upToConstant=>1) );

ANS( \$general->cmp() );
```

Answer Evaluation: For the specific antiderivative, we must use `upToConstant=>1`, otherwise the only answer that will be marked correct will be `e^x`.

```Context()->texStrings;
BEGIN_SOLUTION
Solution explanation goes here.
END_SOLUTION
Context()->normalStrings;

COMMENT('MathObject version.');

ENDDOCUMENT();
```

Solution: