proposit-core
    Preparing search index...

    Interface TPremiseCrud<TArg, TPremise, TExpr, TVar>

    Premise creation, removal, and lookup.

    interface TPremiseCrud<
        TArg extends TCoreArgument = TCoreArgument,
        TPremise extends TCorePremise = TCorePremise,
        TExpr extends TCorePropositionalExpression = TCorePropositionalExpression,
        TVar extends TCorePropositionalVariable = TCorePropositionalVariable,
    > {
        createPremise(): TCoreMutationResult<
            PremiseEngine<TArg, TPremise, TExpr, TVar>,
            TExpr,
            TVar,
            TPremise,
            TArg,
        >;
        createPremise(
            extras: Record<string, unknown> | undefined,
            symbol: string,
        ): TCoreMutationResult<
            PremiseEngine<TArg, TPremise, TExpr, TVar>,
            TExpr,
            TVar,
            TPremise,
            TArg,
        >;
        createPremise(
            extras: Record<string, unknown>,
            symbol?: string,
        ): TCoreMutationResult<
            PremiseEngine<TArg, TPremise, TExpr, TVar>,
            TExpr,
            TVar,
            TPremise,
            TArg,
        >;
        createPremise(
            options: {
                derivedClaimId?: string;
                extras?: Record<string, unknown>;
                symbol?: string;
                type?: "freeform" | "derivation";
            },
        ): TCoreMutationResult<
            PremiseEngine<TArg, TPremise, TExpr, TVar>,
            TExpr,
            TVar,
            TPremise,
            TArg,
        >;
        createPremiseWithId(
            id: string,
            extras?: Record<string, unknown>,
            symbol?: string,
        ): TCoreMutationResult<
            PremiseEngine<TArg, TPremise, TExpr, TVar>,
            TExpr,
            TVar,
            TPremise,
            TArg,
        >;
        createPremiseWithId(
            id: string,
            options: {
                derivedClaimId?: string;
                extras?: Record<string, unknown>;
                symbol?: string;
                type?: "freeform" | "derivation";
            },
        ): TCoreMutationResult<
            PremiseEngine<TArg, TPremise, TExpr, TVar>,
            TExpr,
            TVar,
            TPremise,
            TArg,
        >;
        findPremiseByExpressionId(
            expressionId: string,
        ): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
        getPremise(
            premiseId: string,
        ): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
        hasPremise(premiseId: string): boolean;
        listPremiseIds(): string[];
        listPremises(): PremiseEngine<TArg, TPremise, TExpr, TVar>[];
        removePremise(
            premiseId: string,
        ): TCoreMutationResult<TPremise | undefined, TExpr, TVar, TPremise, TArg>;
    }

    Type Parameters

    Implemented by

    Index

    Methods

    • Creates a premise with a caller-supplied ID and registers it with this engine. Mirrors createPremise exactly, but accepts an explicit id as the first argument instead of generating one.

      Two call styles are supported:

      • Typed-bag (preferred, since 0.11.0):

        engine.createPremiseWithId(id, {
        type: "freeform", // or "derivation"
        derivedClaimId: claimId, // required when type === "derivation"
        extras: { label: "P1" },
        symbol: "P1",
        })
      • Legacy positional (kept for compatibility):

        engine.createPremiseWithId(id, extras, symbol)  // creates a freeform premise
        

      When type === "derivation", the same derivation initialization as createPremise runs: variable materialization and naked-Q tree setup.

      Parameters

      • id: string

        The ID to assign to the new premise.

      • Optionalextras: Record<string, unknown>
      • Optionalsymbol: string

      Returns TCoreMutationResult<
          PremiseEngine<TArg, TPremise, TExpr, TVar>,
          TExpr,
          TVar,
          TPremise,
          TArg,
      >

      InvariantViolationError(CREATE_DERIVATION_REQUIRES_DERIVED_CLAIM_ID) when type === "derivation" and derivedClaimId is absent.

      InvariantViolationError(CREATE_DERIVATION_CLAIM_NOT_FOUND) when type === "derivation" and the claim is not in the library.

      If a premise with the given ID already exists.

      0.11.0 — typed-bag overload; derivation premise initialization.

    • Parameters

      • id: string
      • options: {
            derivedClaimId?: string;
            extras?: Record<string, unknown>;
            symbol?: string;
            type?: "freeform" | "derivation";
        }

      Returns TCoreMutationResult<
          PremiseEngine<TArg, TPremise, TExpr, TVar>,
          TExpr,
          TVar,
          TPremise,
          TArg,
      >