impl add[AS, A, B, OS, O, K; Singleton[AS, K, A], Add[A, B, O], Singleton[OS, K, O]]: Add[AS, B, OS];
impl sub[AS, A, B, OS, O, K; Singleton[AS, K, A], Sub[A, B, O], Singleton[OS, K, O]]: Sub[AS, B, OS];
impl mul[AS, A, B, OS, O, K; Singleton[AS, K, A], Mul[A, B, O], Singleton[OS, K, O]]: Mul[AS, B, OS];
impl div[AS, A, B, OS, O, K; Singleton[AS, K, A], Div[A, B, O], Singleton[OS, K, O]]: Div[AS, B, OS];
impl rem[AS, A, B, OS, O, K; Singleton[AS, K, A], Rem[A, B, O], Singleton[OS, K, O]]: Rem[AS, B, OS];
impl pow[AS, A, B, OS, O, K; Singleton[AS, K, A], Pow[A, B, O], Singleton[OS, K, O]]: Pow[AS, B, OS];
impl bit_and[AS, A, B, OS, O, K; Singleton[AS, K, A], BitAnd[A, B, O], Singleton[OS, K, O]]: BitAnd[AS, B, OS];
impl bit_or[AS, A, B, OS, O, K; Singleton[AS, K, A], BitOr[A, B, O], Singleton[OS, K, O]]: BitOr[AS, B, OS];
impl bit_xor[AS, A, B, OS, O, K; Singleton[AS, K, A], BitXor[A, B, O], Singleton[OS, K, O]]: BitXor[AS, B, OS];