Triangle classification

### Program Information

Name: Triangle classification
Domain: Geometry
Functionality: Takes three integers as arguments and classifies the corresponding triangle as scalene , isocele , equilateral  or illegal.
Input: $a,b,c$ are three sides of the triangle.
Output: $Tri(I)$ is the area of the triangle.

#### Reference

 Automated Metamorphic Testing https://doi.org/10.1109/CMPSAC.2003.1245319;
An Effective Iterative Metamorphic Testing Algorithm Based on Program Path Analysis https://doi.org/10.1109/QSIC.2007.4385510;
Security Assurance with Program Path Analysis and Metamorphic Testing https://doi.org/10.1109/ICSESS.2013.6615286;

### MR Information

#### MR1------

Description:
Property: $Tri(a,b,c)=Tri(b,a,c)$ if $(a,b,c) \notin \{(a,b,c)|a=b\&\&a+b>c\}$
Source input: $(a,b,c)$
Source output: $Tri(a,b,c)$
Follow-up input: $(b,a,c)$
Follow-up output: $Tri(b,a,c)$
Input relation: $(a,b,c) \Rightarrow (b,a,c)$ where $(a,b,c) \notin \{(a,b,c)|a=b\&\&a+b>c\}$
Output relation: $Tri(a,b,c)=Tri(b,a,c)$
Pattern:

#### MR2------

Description:
Property: $Tri(a,b,c)=Tri(a,c,b)$ if $(a,b,c) \notin \{(a,b,c)|b=c\&\&b+c>a\}$
Source input: $(a,b,c)$
Source output: $Tri(a,b,c)$
Follow-up input: $(a,c,b)$
Follow-up output: $Tri(a,c,b)$
Input relation: $(a,b,c) \Rightarrow (a,c,b)$ where $(a,b,c) \notin \{(a,b,c)|b=c\&\&b+c>a\}$
Output relation: $Tri(a,b,c)=Tri(a,c,b)$
Pattern:

#### MR3------

Description:
Property: $Tri(a,b,c)=Tri(c,b,a)$ if $(a,b,c) \notin \{(a,b,c)|a=c\&\&a+c>b\}$
Source input: $(a,b,c)$
Source output: $Tri(a,b,c)$
Follow-up input:  $(c,b,a)$
Follow-up output: $Tri(c,b,a)$
Input relation: $(a,b,c) \Rightarrow (c,b,a)$ where $(a,b,c) \notin \{(a,b,c)|a=c\&\&a+c>b\}$
Output relation: $Tri(a,b,c)=Tri(c,b,a)$
Pattern:

#### MR4------

Description:
Property: $Tri(a,b,c)=4*Tri(2a,2b,2c)$
Source input: $(a,b,c)$
Source output: $Tri(a,b,c)$
Follow-up input: $(2a,2b,2c)$
Follow-up output:  $Tri(2a,2b,2c)$
Input relation: $(a,b,c) \Rightarrow (2a,2b,2c)$
Output relation: $Tri(a,b,c)=4*Tri(2a,2b,2c)$
Pattern:

#### MR5------

Description:
Property: $Tri(a,b,c)=Tri(\sqrt{2b^2+2c^2-a^2},b,c)$ if $(a,b,c) \notin \{(a,b,c)|a^2=b^2+c^2\}$
Source input: $(a,b,c)$
Source output: $Tri(a,b,c)$
Follow-up input:  $(\sqrt{2b^2+2c^2-a^2},b,c)$
Follow-up output: $Tri(\sqrt{2b^2+2c^2-a^2},b,c)$
Input relation: $(a,b,c) \Rightarrow (\sqrt{2b^2+2c^2-a^2},b,c)$ where $(a,b,c) \notin \{(a,b,c)|a^2=b^2+c^2\}$
Output relation: $Tri(a,b,c)=Tri(\sqrt{2b^2+2c^2-a^2},b,c)$
Pattern:

#### MR6------

Description:
Property: $Tri(a,b,c)=Tri(a,\sqrt{2a^2+2c^2-b^2},c)$ if $(a,b,c) \notin \{(a,b,c)|b^2=a^2+c^2\}$
Source input: $(a,b,c)$
Source output: $Tri(a,b,c)$
Follow-up input: $(a,\sqrt{2a^2+2c^2-b^2},c)$
Follow-up output:  $Tri(a,\sqrt{2a^2+2c^2-b^2},c)$
Input relation: $(a,b,c) \Rightarrow (a,\sqrt{2a^2+2c^2-b^2},c)$ where $(a,b,c) \notin \{(a,b,c)|b^2=a^2+c^2\}$
Output relation: $Tri(a,b,c)=Tri(a,\sqrt{2a^2+2c^2-b^2},c)$
Pattern:

#### MR7------

Description:
Property: $Tri(a,b,c)=Tri(a,b,\sqrt{2a^2+2b^2-c^2})$ if $(a,b,c) \notin \{(a,b,c)|c^2=a^2+b^2\}$
Source input: $(a,b,c)$
Source output: $Tri(a,b,c)$
Follow-up input: $(a,b,\sqrt{2a^2+2b^2-c^2})$
Follow-up output: $Tri(a,b,\sqrt{2a^2+2b^2-c^2})$
Input relation: $(a,b,c) \Rightarrow (a,b,\sqrt{2a^2+2b^2-c^2})$ where $(a,b,c) \notin \{(a,b,c)|c^2=a^2+b^2\}$
Output relation: $Tri(a,b,c)=Tri(a,b,\sqrt{2a^2+2b^2-c^2})$
Pattern:

#### MR8------

Description:
Property: $\rm Tri(AD,DP,AP) + Tri(AE,EP,AP) = Tri(BD,AD,AB) + Tri(AE,AC,CE) + Tri(AB,AC,BC)$
Source input:  $\rm (AD,DP,AP),(AE,EP,AP)$
Source output:  $\rm Tri(AD,DP,AP),Tri(AE,EP,AP)$
Follow-up input: $\rm (BD,AD,AB),(AE,AC,CE),(AB,AC,BC)$
Follow-up output: $\rm Tri(BD,AD,AB),Tri(AE,AC,CE),Tri(AB,AC,BC)$
Input relation:
Output relation: $\rm Tri(AD,DP,AP) + Tri(AE,EP,AP) = Tri(BD,AD,AB) + Tri(AE,AC,CE) + Tri(AB,AC,BC)$
Pattern:

#### MR9------

Description:
Property:  $\rm 4\times Tri(AO,OE,AE) = Tri(AB,AC,BC) + Tri(AC,AD,CD) + Tri(BC,CD,BD) + Tri(AE,AB,BE)$
Source input:  $\rm (AO,OE,AE)$
Source output:  $\rm Tri(AO,OE,AE)$
Follow-up input: $\rm (AB,AC,BC),(AC,AD,CD),(BC,CD,BD),(AE,AB,BE)$
Follow-up output: $\rm Tri(AB,AC,BC),Tri(AC,AD,CD),Tri(BC,CD,BD),Tri(AE,AB,BE)$
Input relation:
Output relation: $\rm 4\times Tri(AO,OE,AE) = Tri(AB,AC,BC) + Tri(AC,AD,CD) + Tri(BC,CD,BD) + Tri(AE,AB,BE)$
Pattern:
Insert title here