{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:43:33",
  "duplicates" : [ {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/ExtMeta.java",
        "extension" : "java",
        "linesOfCode" : 735,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 569,
      "startLine" : 44,
      "endLine" : 59,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/linear/LinearSolverMeta.java",
        "extension" : "java",
        "linesOfCode" : 56,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 47,
      "endLine" : 62,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/AbGroupInverseRule.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 114,
      "endLine" : 125,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/GroupInverseRule.java",
        "extension" : "java",
        "linesOfCode" : 154,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 155,
      "endLine" : 166,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/util/Utils.java",
        "extension" : "java",
        "linesOfCode" : 435,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 302,
      "startLine" : 352,
      "endLine" : 363,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 221
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/util/Utils.java",
        "extension" : "java",
        "linesOfCode" : 435,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 302,
      "startLine" : 381,
      "endLine" : 392,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 239
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/UnfoldLetMeta.java",
        "extension" : "java",
        "linesOfCode" : 38,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 17,
      "endLine" : 29,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/UnfoldsMeta.java",
        "extension" : "java",
        "linesOfCode" : 50,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 18,
      "endLine" : 30,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/UnfoldMeta.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 40,
      "endLine" : 53,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/debug/PrintMeta.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 22,
      "endLine" : 35,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/linear/LinearSolverMeta.java",
        "extension" : "java",
        "linesOfCode" : 56,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 44,
      "endLine" : 57,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/SimplifyMeta.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 34,
      "endLine" : 49,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/ExtMeta.java",
        "extension" : "java",
        "linesOfCode" : 735,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 569,
      "startLine" : 490,
      "endLine" : 497,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 330
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/ExtMeta.java",
        "extension" : "java",
        "linesOfCode" : 735,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 569,
      "startLine" : 618,
      "endLine" : 625,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/debug/PrintMeta.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/debug/RandomMeta.java",
        "extension" : "java",
        "linesOfCode" : 56,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 30,
      "endLine" : 41,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/ClassExtResolver.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 23,
      "endLine" : 36,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/linear/LinearSolverMeta.java",
        "extension" : "java",
        "linesOfCode" : 56,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 44,
      "endLine" : 57,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/ClassExtResolver.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 23,
      "endLine" : 36,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/SimplifyMeta.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 34,
      "endLine" : 49,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/UnfoldMeta.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 43,
      "endLine" : 53,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/debug/RandomMeta.java",
        "extension" : "java",
        "linesOfCode" : 56,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 30,
      "endLine" : 40,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/ClassExtResolver.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 26,
      "endLine" : 36,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/ExtMeta.java",
        "extension" : "java",
        "linesOfCode" : 735,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 569,
      "startLine" : 44,
      "endLine" : 54,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/AbGroupInverseRule.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 99,
      "endLine" : 107,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/GroupInverseRule.java",
        "extension" : "java",
        "linesOfCode" : 154,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 144,
      "endLine" : 152,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/ExtMeta.java",
        "extension" : "java",
        "linesOfCode" : 735,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 569,
      "startLine" : 44,
      "endLine" : 54,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/SimplifyMeta.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/MonoidIdentityRule.java",
        "extension" : "java",
        "linesOfCode" : 58,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 45,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/MulOfNegativesRule.java",
        "extension" : "java",
        "linesOfCode" : 52,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/MulOfNegativesRule.java",
        "extension" : "java",
        "linesOfCode" : 52,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/MultiplicationByZeroRule.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/AssumptionMeta.java",
        "extension" : "java",
        "linesOfCode" : 76,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 29,
      "endLine" : 38,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/ContradictionMeta.java",
        "extension" : "java",
        "linesOfCode" : 518,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 374,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/CasesMeta.java",
        "extension" : "java",
        "linesOfCode" : 373,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 71,
      "endLine" : 78,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/ExtMeta.java",
        "extension" : "java",
        "linesOfCode" : 735,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 569,
      "startLine" : 49,
      "endLine" : 56,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/MonoidIdentityRule.java",
        "extension" : "java",
        "linesOfCode" : 58,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 45,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/simplify/MultiplicationByZeroRule.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/CasesMeta.java",
        "extension" : "java",
        "linesOfCode" : 373,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 71,
      "endLine" : 78,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/linear/LinearSolverMeta.java",
        "extension" : "java",
        "linesOfCode" : 56,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/MatchingCasesMeta.java",
        "extension" : "java",
        "linesOfCode" : 1123,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 850,
      "startLine" : 578,
      "endLine" : 586,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 392
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/MatchingCasesMeta.java",
        "extension" : "java",
        "linesOfCode" : 1123,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 850,
      "startLine" : 1048,
      "endLine" : 1056,
      "cleanedStartLine" : 728,
      "cleanedEndLine" : 733
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/InMeta.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 22,
      "endLine" : 31,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "meta/src/main/java/org/arend/lib/meta/OrElseMeta.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::meta" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 21,
      "endLine" : 30,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  } ],
  "overallDuplication" : null
}